HANA Runtime Dump FAQ's
Q-1) Define SAP HANA runtime dump?
Ans) SAP HANA Dump is a text file which provides information about SAP HANA database current status. These runtime dumps helps SAP or SAP users to understand the behaviour of SAP HANA if and issue or problems occur.
Q-2) What is the meaning of the trace files which contains 'rtedump_tmp' in their names?
When the runtime dumps are created, the file containing these dumps are named 'rtedump_tmp' instead of 'rtedump'. Therefore if you get an file with 'tmp' substring then you van assume that runtime dump creation is still in process or the creation of the previous runtime dump has failed and was not finished properly.
Once the runtime dump gets created successfully the file is automatically renamed to 'rtedump' from 'rtedump_tmp'.
Q-3) How much time does the creation of a runtime dump generally takes and how large it will be?
The exact size and duration of HANA runtime dump depend on the size of the system, actual load on system and resource consumption by the system. Size can be upto several 100 MB whereas the runtime can be less than 1 minute to several hours.
Q-4) What are the parameters influencing the generation of a HANA runtime dump?
The following HANA parameters can influence the generation and content of runtime dumps:
|indexserver.ini -> [persistence] -> runtimedump_for_blocked_savepoint_timeout||s||0 (no timeout)||When the blocking phase of a savepoint exceeds the configured timeout, a runtime dump of type "savepoint_blocked" is created.|
|indexserver.ini -> [runtimedump] -> default_sections||*||Define the sections that should be printed with a runtime dump per default, see "What are the main parts of a runtime dump?" below for the most important sections|
|Available starting with SAP HANA 1.00.122.07 and 2.00|
|indexserver.ini -> [sql] -> display_sql_statement_parameters_in_dump||FALSE||This configuration parameter can be used to activate the display of bind values ("statement parameters") in SAP HANA dumps.|
Q-5) Do we always get consistent information collected from runtime dump?
As the runtime dump is not based on consistent read and the information collected by runtime dump can be retrieved at different points in time which result in potentially inconsistent results. For ex: the closely connected sections [STACK_SHORT] and [THREADS] may not match in all details and therefore the call stack of one thread may be different from thread state and thread method. Also inside a single section like [STACK_SHORT] the information can be inconsistent.
Q-6) Whether the SAP HANA runtime dump is generated on service, host, tenant or system level?
Runtime dump is always generated on service level. If any user want to generate a runtime dump for multiple services on the same host (e.g. indexserver, nameserver, xsengine) or for services on different hosts then in order to do that user have to trigger then individually.
You can use below tool in order to automatically generate runtime dumps for multiple services:
- Full system info dump
Q-7) What is the motive of runtime dump?
The runtime dump can be used for following purposes:
- It is used to analyse high CPU consumption
- It is used to analyse lock contention
- It is used to analyse high memory consumption
- It is used to analyse blocking savepoint phases
Q-8) What are the advance option existing in runtime dump generation?
The following advance option exist in SAP HANA runtime dump generation:
|runtimedump l||List available runtime dump sections|
|runtimedump dump -c||Write runtime dump to console (stdout)|
|runtimedump dump -f <file_name>||Write runtime dump to a file with name <file_name>|
|runtimedump dump -i||Generate call stacks also for threads with inactive context|
|runtimedump dump -s <section1>,...,<sectionN>||Generate runtime dump only with the specified subset of available sections|
|Example: (runtime dump with sections [STACK_SHORT] and [THREADS])|
|runtimedump dump -s STACK_SHORT,THREADS|