SAPFree checklistPDF, Excel, Word exportSAP HANAAll SAP HANA and Basis tools

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%

0 of 36 items complete

12 critical items still open - these are the highest-risk gaps.

Download checklist:

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.

Was this tool useful?

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.