SAP HANA Performance Health Checklist: Memory, CPU, Locks and Merges
This checklist walks an SAP HANA 2.0 system through memory, CPU, SQL, locks, persistence and housekeeping, naming the exact monitoring view, parameter or SAP Note for each check. Use it for a monthly health review or as the first pass in a performance incident.
0 of 36 items complete
12 critical items still open - these are the highest-risk gaps.
1. Memory
2. CPU and threads
3. SQL and plan cache
4. Locks and transactions
5. Persistence, merges and disk
6. Housekeeping and configuration
Items marked critical are the first things to check during an incident. All view and column names are for SAP HANA 2.0; verify column names against the System Views Reference for your SPS.
Get your mini check output reviewed
Send us the mini check result and revision number and we will point out the findings worth acting on first.
Optional. The tool and every export work without this. No spam.
How to use it
Work top to bottom during a health review, or start with the critical items during an incident. Most checks are a single SELECT on a monitoring view in the SYS schema, run from HANA cockpit, the SQL console in HANA Studio or hdbsql as a user with the MONITORING role or CATALOG READ. For history beyond what M_ views keep, use the matching _SYS_STATISTICS.HOST_* tables. Tick each item, note the finding, and export to Excel to keep a dated record you can compare month to month.
- Run checks during the slow period, not afterwards; most M_ views show current state.
- Save the output of the mini checks with the date and revision.
- Change one parameter at a time and record it.
Where the method comes from
The structure follows the SAP HANA Troubleshooting and Performance Analysis Guide and the FAQ notes SAP support uses: SAP Note 1999997 (FAQ: SAP HANA Memory), SAP Note 2114710 (FAQ: SAP HANA Threads and Thread Samples), SAP Note 2000002 (SQL optimization) and SAP Note 1969700, the SQL statement collection that contains HANA_Configuration_MiniChecks and hundreds of analysis scripts. The mini checks compare dozens of key figures with expected values and mark potentially critical results with an X in the C column; SAP Note 1999993 explains each check ID and what to do next.
Worked example: slow system after month end
Users report slow reports every first working day. M_SERVICE_MEMORY shows the indexserver at 93% of its effective allocation limit and M_CS_UNLOADS lists repeated LOW MEMORY unloads of a large ACDOCA partition. M_HEAP_MEMORY shows Pool/JoinEvaluator high during the slow window, and M_EXPENSIVE_STATEMENTS points to one analytical query with a multi gigabyte MEMORY_SIZE. The fix sequence is to set statement_memory_limit so that query fails instead of evicting everyone else, tune the query, then review whether the allocation limit or data volume growth needs a sizing change.
Common mistakes
The most common mistake is reading host memory from the OS and concluding HANA is out of memory; HANA pre-allocates and the right numbers are used memory versus the allocation limit. Others: changing max_concurrency without measuring, leaving the expensive statements trace at a very low threshold so it fills the trace directory, cancelling a blocked session instead of the blocker, and ignoring failed delta merges until the delta store is huge. Long running idle transactions from batch tools are a frequent hidden cause of MVCC version build up.
Frequently Asked Questions
What are SAP HANA mini checks?
Mini checks are the SQL script HANA_Configuration_MiniChecks from the statement collection attached to SAP Note 1969700. It evaluates many configuration and runtime key figures in one run and marks potential problems. SAP Note 1999993 describes how to interpret each check ID. Use the script version that matches your HANA revision.
How do I find what is using memory in SAP HANA?
Start with M_SERVICE_MEMORY for used memory versus the effective allocation limit, then M_HEAP_MEMORY ordered by EXCLUSIVE_SIZE_IN_USE to see the heap allocators, and M_CS_TABLES for the largest column tables. SAP Note 1999997, the memory FAQ, lists the standard scripts for each step.
Where is the SAP HANA threads FAQ?
SAP Note 2114710 (FAQ: SAP HANA Threads and Thread Samples) explains thread types, states and how to use M_SERVICE_THREADS and the thread sample views. It is the reference when many threads are waiting or a single statement uses all cores.
Why are delta merges failing?
Check M_DELTA_MERGE_STATISTICS for LAST_ERROR. Common causes are memory shortage during the merge, a table locked by a long open transaction, or auto merge disabled for the table. Large deltas slow reads, so fix failures before they accumulate.
If you want your Basis team to ask these HANA health questions in plain English and get the query and the answer on your own servers, we can set that up.
Related Tools
SAP HANA Memory Sizing Calculator
First-pass SAP HANA memory and disk estimate from source database size, compression ratio, growth and work space, with a growth-by-year chart.
SAPSAP HANA Largest Tables SQL Query Generator
Generates SAP HANA SQL for the biggest tables and the usual archiving suspects, to size and reduce data before migration.
SAPSAP S/4HANA On-Premise Release Upgrade Checklist (e.g. 2021 to 2023)
Planning, custom code, technical prep, SUM execution and post steps for upgrading one S/4HANA release to a newer one.
SAPSAP BW 7.5 to BW/4HANA Conversion Checklist
A five stage checklist for converting SAP BW 7.5 to BW/4HANA: assessment, Starter Add-on, object transfer, system conversion and post steps.
More SAP tools
See all- SAP HANA Monitoring Views Reference (M_ System Views)
- SAP HANA SQL Error Codes Reference
- SAP HANA Memory Usage SQL Generator (Used, Resident, Heap)
- SAP HANA Table Load, Unload and Preload SQL Generator
- SAP HANA Backup SQL Statement Generator (Data, Delta, Catalog)
- SAP HANA Disk Sizing Calculator (/hana/data, /hana/log, /hana/shared)
- SAP HANA Backup Storage and Retention Calculator
- SAP HANA Log Volume Full Time Calculator (Log Backup Outage)
- SAP HANA Table Partition Calculator (2 Billion Row Limit)
Keep exploring
Free tools
- SAP HANA Monitoring Views Reference (M_ System Views)One row per SAP HANA monitoring view with the key columns to select and the question it answers: memory, table size, disk, backups, locks, sessions and SQL.
- SAP HANA Memory Sizing CalculatorFirst-pass SAP HANA memory and disk estimate from source database size, compression ratio, growth and work space, with a growth-by-year chart.
- S/4HANA HANA Memory Sizing EstimatorRough-size the HANA database memory and persistence you will need from your current database footprint.