Professional Documents
Culture Documents
Purpose
This document's intent is to help customers with the analysis and resolution of the
TSV_TNEW_PAGE_ALLOC_FAILED shortdump, which is not an error or bug in the software but
purely related to customizing of resources on SAP application server. This guide will help you to
analyze every occurence and to conclude what team needs to involved in the further steps of the
troubleshooting process.
Overview
First and foremost, we have to keep in mind that this shortdump will be raised in one of the following
scenarios:
#1. A single work process attempts to allocate more memory than it is allowed (alone). Protection
mechanism of the system. Current system load is irrelevant.
#2. System is busy and there are lots of processes requesting memory. In this scenario, the current
memory usage is high. As soon as the very next work process requests an amount that crosses the
threshold of the global total of memory, we have the shortdump.
The required analysis begin in ST22 transaction where more intel on the dump can be checked.
Once in ST22, select the desired occurence of TSV_TNEW_PAGE_ALLOC_FAILED and scroll to
the "Memory consumption" area. This area reports the memory usage at the time of the dump. We
have below one example of such information (please be aware that the dots were added in filelds
"EM" and "Heap" for education purposes):
Memory consumption
Roll....
EM......
Heap....
Page....
MM used.
MM free.
0
2.000.000.000
2.000.000.000
16384
1157760496
2294495840
The shordump information for this occurrence in specific, tells us that the process has used 2 GB of
extended memory (EM) plus 2 GB of heap memory (Heap). We then conclude that at the time of the dump, a
little bit more than 4 GB of memory was being used by the process, which failed as no more memory could
be provided.
With the following information in mind, we have to check what are the current memory parameters
reltaed to the values that we just saw. One way to do it, is through transaction ST02. From ST02,
you can click twice on "Extended memory" field and then "Current parameters". On that screen, we
are interested in the following parameters (please be aware that the dots were added for education
purposes):
em/initial_size_MB
ztta/roll_extension
abap/heap_area_dia
abap/heap_area_nondia
abap/heap_area_total
12.000
2.000.000.000
2.000.000.000
2.000.000.000
4.000.000.000
Looking at these parameter's values brings us to conclude that the process that raised the shordump could
sucessfuly allocate the full assigned memory quota for Extended memory "ztta/roll_extension" and assigned
quota for HEAP memory which can break into one of the two following parameters: "abap/heap_area_dia" for
a dialog process OR "abap/heap_area_nondia" for a non dialog one.
See specific parameters / platform below.
If the work process could allocate all of the amount available for a single process, for both
EXTENDED MEMORY and HEAP areas and yet failed, wen can conclude that this case fits into
scenario #1 described above.
Lets assume the same dump happened and we are heading for the analysis just as in the previous
example. This is what we see in the consumption area:
Memory consumption
Roll.... 0
EM...... 1.000.000.000
Heap.... 0
Page.... 16384
MM used. 1157760496
MM free. 2294495840
Now we have a slightly different scenario. We already know that a maximum of 2 GB of extended memory is
available for that process but still it has dumped after having used only 1 GB. The only explanation would be
that there are no other 1GB available for the application server as a whole.
In order to confirm/ rule out that assumption, we move tha analysis once again to ST02 transaction.
Our focus is once again on the SAP MEMORY tab. We look now to the "Extended memory" field
where simple by relating the two fields "MaxUse" and "In Mem", its possible to confirm that, at least
once in the current uptime, all of the extended memory was used. Assuming that it was our dump the
responsible, the current Extended memory of the instance was around 11GB (from the 12 GB
available) and our program has allocated just the 1GB that not yet taken.
SAP Memory
Curr.Use %
CurUse[KB]
Page area
0,12
308
Extended memory
14,69
1.679.360
12.000.000
12.000.000
100.509
Heap memory
MaxUse[KB]
11.512
In Mem[KB]
131.072
For additional information regarding memory management on Linux with MAP implementation,
see SAP Note 386605.
For additional information regarding memory management on Windows, see SAP Note 88416.
c) Other UNIX plaforms (ES/TABLE = UNIX_STD implementation):
ztta/roll_extension: see case "a".
For additional information regarding memory management on Linux 64 bit (ES/TABLE =
UNIX_STD), see SAP Note 941735.
As of kernel 7.40, availability of Zero Administration Memory Management is available for all
platforms (see SAP Note 2085980).
CONCLUSION:
In any of the below described cases, where it is confirmed that the memory mechanism works as
designed, it falls to the application team to analyze the abnormal memory consumption. Of course
the related memory parameters can be adjusted in case the server case spare extra memory but this
is entirely a system admin's call to make.
If it's a Z (custom) program that is raising the exception and all the related memory parameters are
already tuned, meaning that no more memory will be provided, the customer team which developed
the application should perform this analysis.
Related Content
Platform-Specific Description of Memory Management
Related Documents
ztta/roll_extension_dia: EM Quota for Dialog Processes
abap/heap_area_total: Total Quota for Heap Memory
abap/heap_area_dia: Heap Memory Limit for Dialog Work Processes
Related SAP Notes/KBAs