cancel
Showing results for 
Search instead for 
Did you mean: 

TSV_TNEW_PAGE_ALLOC_FAILED - How to find the cause

Former Member
0 Kudos

Scenario

A background Job getting terminated due to Resource shortage.

Runtime Errors TSV_TNEW_PAGE_ALLOC_FAILED



The amount of storage space (in bytes) filled at termination time was:

Roll area...................... 6202896
Extended memory (EM)........... 2002720576
Assigned memory (HEAP)......... 2000011216
Short area..................... " "
Paging area.................... 90112
Maximum address space.......... 4294967295

Note: The Maximum address space shown here is equivalent to 2^32 = 4294967295

Our servers are


HOSTNAME1_SID_02             WINDOWS NT 6.0.6002 SP 2   Dialog Instance
hostname2_SID_01             AIX                        Central Instance

In hostname2_SID_01 (AIX) following are parameter values


em/initial_size_MB 16384 MB
ztta/roll_area 6500000 bytes
ztta/roll_extension 2000000000 bytes
abap/heap_area_nondia 2000000000 bytes

From SM37 --> Job Details I can see Executing server as hostname2_SID_01 (AIX).

Question

What I am confused about is, why a 32 bit Maximum address space limit is causing the job to terminate when run on 64 bit systems?

Or is "Assigned memory (HEAP)......... 2000011216" causing problem here, and if so why EM was only filled upto 2002720576 when em/initial_size_MB is 16384 MB?

Edited by: PHL-IZZ on Jul 11, 2011 2:45 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member524429
Active Contributor
0 Kudos

Hi,

Runtime Errors TSV_TNEW_PAGE_ALLOC_FAILED
...
...
The amount of storage space (in bytes) filled at termination time was:
Roll area...................... 6202896
Extended memory (EM)........... 2002720576
Assigned memory (HEAP)......... 2000011216
...
....
ztta/roll_extension 2000000000 bytes
abap/heap_area_nondia 2000000000 bytes
....
....
why EM was only filled upto 2002720576 when em/initial_size_MB is 16384 MB?

The above behavior is the result of crossing memory limit restricted by SAP memory parameter ztta/roll_extension. This parameter setting is required to restrict extended memory usage per User. So no one can fully utilize whole Extended memory.

For Non-Dia work process execution in Unix, When the Heap Memory is fully filled (upto limit abap/heap_area_nondia), User quota (ztta/roll_extension) will be utilized. If still the program execution require more memory then it will be terminated and WP will be restarted. If you have activated ES/TABLE = SHM_SEGS in AIX system, the SAP Memory Utilization sequence will be same as for Dia Work Processes (Refer SAP Note 789477).

Before going to enlarge ztta/roll_extension parameter, I would suggest you to Examine the following factors with such behavior:

1. Which Transaction Code/ Program is causing such issue? Is it Standard SAP T-code/program or 'Z'/'Y' T-code/program ?

2. The Background job with the specified Program is giving such DUMP every time on each execution ?

3. Why the specified program/T-code is causing high memory usage with lot of data ? Any wrong/non-optimal inputs/variants are in use by that Background Job ?

4. Does this runtime error TSV_TNEW_PAGE_ALLOC_FAILED is seen frequently for other T-codes/Programs in all servers ?

As per the error log entries, the Background job is using more Extended memory (limited to ztta/roll_extension) and also utilizing HEAP memory (limited to abap/heap_area_nondia) in your case. Such behavior may point to presence of Expensive SQL statement.

You can refer this [helpful link|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/49/32eb1fe92e3504e10000000a421937/content.htm] to get more idea about Memory Utilization sequence in SAP along with this SAP Note 789477.

Regards,

Bhavik G. Shroff

Answers (5)

Answers (5)

Former Member
0 Kudos

Thanks to all.

Former Member
0 Kudos

Hi,

You can delete the old data from the table if exist. We cannot increase the parameter values as its is not recommmended by SAP.

As per SAP the existing parameter value is fine.

Mean While you can check with ABAPER for secondary index creation.Reducing the select statements and # in the program.

Like if you are excecuting the program for 170 plants, reduce the plants to 50 with the same varient and schedule the Job.

Thank you,

S.K.

Former Member
0 Kudos

The error TSV_NEW_PAGE_ALLOC_FAILED means that more memory was requested by the system because the program needed to expand an internal table, but not is available. When Extended Memory is completely used up, the process will go into PRIV mode and it will start using Heap Memory in case of Windows or vice versa in case of Unix. Once this enters into PRIV mode, no other user will be able to use the corresponding work process. If there is enough memory for it to finish, You will not see the error.

Note: Internal table can store max of 2GB data.

Please refer the following SAP notes:

SAP Note 649327 Analysis of memory consumption.

SAP Note 20527 Runtime error TSV_TNEW_PAGE_ALLOC_FAILED

SAP Note 185185 Application: Analysis of memory bottlenecks

SAP Note 369726 TSV_TNEW_PAGE_ALLOC_FAILED

if there is enough memory then What can you do?

1) Process smaller chunks of data. (E.g. not all 50.000 records at once) is one option.

2) Create a memory snapshot right before the program dumps and analyze where the memory is consumed in order to understand if or where you can reduce memory consumption.

Former Member
0 Kudos

Hi,

First of all, you stuck at "ztta/roll_extension" memory quota. Then faced with a short dump after the heap memory limits reach to the "abap/heap_area_nondia".

At this stage, you should reconfigure "ztta/roll_extension" and "abap/heap_area_nondia" parameters with the enough values, in order to avoid this memory problem.

For example;

ztta/roll_extension = 4000000000

abap/heap_area_nondia = 4000000000

Best regards,

Orkun Gedik

Former Member
0 Kudos

Hi,

Please increase the abap/heap_area_nondia = 8000000000.

and again monitor the same.

Thanks,

Prabhat

Former Member
0 Kudos

Hi,

First of all, you stuck at "ztta/roll_extension" memory quota. Then faced with a short dump after the heap memory limits reach to the "abap/heap_area_nondia".

At this stage, you should reconfigure "ztta/roll_extension" and "abap/heap_area_nondia" parameters with the enough values, in order to avoid this memory problem.

For example;

ztta/roll_extension = 4000000000

abap/heap_area_nondia = 4000000000

Best regards,

Orkun Gedik