SAP-TSV_TNEW_PAGE_ALLOC_FAILED资源瓶颈-热修改内存

本文档详细介绍了如何分析和解决TSV_TNEW_PAGE_ALLOC_FAILED短dump问题,该问题与SAP应用服务器的资源定制有关。主要分为两种场景:1) 单个工作进程尝试分配超出其限制的内存;2) 系统繁忙,多个进程请求内存导致。通过ST22交易查看内存消耗,检查当前内存参数,并在ST02交易中确认内存设置。针对不同操作系统,如AIX、Linux/Windows和其他UNIX平台,提供了特定的内存参数调整建议。如果问题确定为应用程序异常内存消耗,需要应用团队进行分析,可能需要临时或永久增加内存配额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 the SAP application server. This guide will help you to analyze every occurrence and to conclude what team needs to be involved in the further steps of troubleshooting.
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). System protection mechanism. 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.
    Analysis of scenario #1:
    The required analysis begins in the ST22 transaction where more information on the dump can be checked. Once in ST22, select the desired occurrence 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 fields “EM” and “Heap” for education purposes):
    Memory consumption 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.

Roll… 0
EM… 2.000.000.000
Heap… 2.000.000.000
Page… 16384
MM used. 1157760496
MM free. 2294495840
With the following information in mind, we have to check what are the current memory parameters related 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):
Memory settings Looking at these parameter’s values brings us to conclude that the process that raised the shortdump could successfully 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.

em/initial_size_MB… 12.000
ztta/roll_extension… 2.000.000.000
abap/heap_area _dia… 2.000.000.000
abap/heap_area_nondia 2.000.000.000
abap/heap_area_total. 4.000.000.000
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, we can conclude that this case fits into scenario #1 described above.

Analysis of scenario #2:
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 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.
Roll… 0
EM… 1.000.000.000
Heap… 0
Page… 16384
MM used. 1157760496
MM free. 2294495840
In order to confirm/ rule out that assumption, we move the 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.
Page area 0,12 308 11.512 131.072
Extended memory 14,69 1.679.360 12.000.000 12.000.000
Heap memory 0 100.509 0
That would be a perfect example of scenario #2.

Operating System Specifics
The quota of extended memory EM per platform is defined by:
AIX (ES/TABLE = SHM_SEGS)
ztta/roll_extension: Defines the quota of extended memory (EM) in the excerpt above. If the value shown in the dump for EM is much lower than this parameter it is generally because the total amount of EM that can be allocated by ALL sessions of an application server has been reached. This can be confirmed in transaction ST02. For additional AIX memory parameters, see SAP Note 789477.
Linux / Windows (es/implementation = map )
ztta/roll_extension;
em/address_space_MB: This parameter specifies in MB the size of the address space that is provided for the memory class “Extended Memory” in a work process. Therefore, it should be set higher than ztta/roll_extension.

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.
Other UNIX platforms (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.
The quota of Heap memory is set by the following parameters:
abap/heap_area_dia Heap memory quota (HEAP) for dialog work processes.
abap/heap_area_nondia Heap memory quota (HEAP) for non-dialog work processes
abap/heap_area_total Heap memory quota all work processes can allocate in total

On all operating systems (i.e. Heap parameters are operating system independent).

abap/heap_area_dia: Heap memory quota (HEAP) for dialog work processes.
abap/heap_area_nondia: Heap memory quota (HEAP) for non-dialog work processes.
abap/heap_area_total: Heap memory quota all work processes can allocate in total.
Memory quotas can be increased temporarily (on the fly) without restarting the system by running program RSMEMORY. For details, refer to The rsmemory Report. If the system is a production one, this could be the best way for already known programs consuming memory quotas.

The total Extended memory available is set by the parameters:

a) AIX (ES/TABLE = SHM_SEGS)

EM/TOTAL_SIZE_MB: This parameter limits the TOTAL amount of Extended Memory that can be allocated by ALL sessions of an application server.

b) Linux ( es/implementation = map ) and Windows:

em/max_size_MB: This parameter limits the TOTAL amount of Extended Memory that can be allocated by ALL sessions of an application server.
c) Other UNIX plaforms (UNIX_STD implementation):

em/initial_size_MB: This parameter limits the TOTAL amount of Extended Memory that can be allocated by ALL sessions of an application server.

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 (SAP or customer’s) to analyze the abnormal memory consumption. Most of the times it’s possible to increase the memory quotas up to a certain threshold with no depth understanding on the requirements of the associated application but this is entirely a system admin’s call to make. In case the affected program is indeed custom made and the parameters were already tuned (meaning that no more memory will be spared) then 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

简单点就是
se38 执行程序rsmemory,然后修改几个参数值,最后copy即可临时修改应用内存大小(注意服务器内存大小,重启后参数失效,永久修改可以改参数文件中的3个参数
abap/heap_area_dia Heap memory quota (HEAP) for dialog work processes.
abap/heap_area_nondia Heap memory quota (HEAP) for non-dialog work processes
abap/heap_area_total Heap memory quota all work processes can allocate in total)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巧克力-8883

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值