EM内存未在Windows 2003 32位上得到充分利用

2020-09-17 06:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 我们有一个运行于SAP B...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一个运行于SAP Basis 620,Windows 2003 Standard Edition 32位,具有4 GB RAM的Production SAP R/3 Enterprise 470,该数据库为Oracle 10.2.0.4,Kernel 640 PL 347,均位于1台主机服务器上。

我们最近遇到了性能问题,这些问题是使用大量内存后进程快要死了并且无法重新启动,解决此问题的唯一方法是重新启动服务器和SAP。

由于项目承诺,我们无法升级系统,因为这是Windows 2003 Standard Edition,我们的内存有限,只能在服务器上使用4GB。

为了提高性能,我试图在具有16GB内存20GB(最初为12GB)分页的单独Windows 2003 Enterprise Edition 32位上添加应用程序服务器,我们将boot.ini开关设置为使用16GB内存和3GB 每个WP:

/PAE/3GB

在此新服务器上,我已经安装了SAP Application Server,Application Server可以从内核640 PL 347开始正常运行

在Application Server上进行测试时,我注意到没有使用完整的扩展内存。 我从实例配置文件中删除了PHYS_MEMSIZE,它的默认值为15359

我设置了em/initial_size_MB = 4000

其余参数设置为使用2GB EM,然后使用2GB HEAP:

卷,扩展和堆内存EXTM ztta/roll_area 2000000字节每个工作进程的滚动区域(总计) ztta/roll_first 1字节对话框WP ztta中使用的第一滚动区域数量/short_area 1600000字节每个工作进程的短区域
rdisp/ROLL_SHM 32768 8 kB共享存储器中的卷文件的一部分
rdisp/PG_SHM 16384 8 kB共享存储器中的分页文件的一部分
rdisp/PG_LOCAL 150 8 kB分页 每个工作进程的缓冲区
em/initial_size_MB 4000 MB扩展内存的初始大小
em/blocksize_KB 1024 kB一个扩展内存块的大小
em/address_space_MB 512 MB为ext保留的地址空间。 记忆 (仅限NT)ztta/roll_extension 2000000000字节(最大)。 扩展内存。 每个会话(外部模式)
abap/heap_area_dia 2000000000字节最大。 对话工作流程的堆内存
abap/heap_area_nondia 2000000000字节最大。 非对话工作流程的堆内存
abap/heap_area_total 2000000000 Byte Max。 可用堆内存
abap/heaplimit 40000000 Byte堆内存的工作进程重新启动限制
abap/use_paging 0对已使用(1)或不使用(0)的平面表进行分页

但是,当我在VBRK上运行SE16N之类的事务时,在获得Shortdump之前,没有使用完整的EM内存:

STORAGE_PARAMETERS_WRONG_SET

设置系统配置文件参数
-abap/heap_area_dia
-abap/heap_area_nondia
最多为860495616。然后将该值减小10.000.000即可打开
>安全方面

然后重新启动SAP系统。

但是系统参数已设置为高于shortdump故障:

abap/heap_area_dia 2000000000字节最大 对话工作流程的堆内存
abap/heap_area_nondia 2000000000字节最大。 非对话堆内存

ST02显示的最大EM为548MB,已使用4GB

STAD正在显示

已用总内存844.509 kB。 卷区域101.231字节中使用的内存
新分配的分页内存0 kB
已使用扩展内存
在事务中382.804 kB
在对话步骤381.784 kB

正在使用的扩展内存4.083 kB

正在使用的私人内存840.327 kB
PRIV模式下的工作进程是
工作进程已重新启动是

在我看来,仅使用382MB的EM,然后使用840MB的HEAP(PRIV),然后交易失败,大约1.2GB。

但是,应用程序实例设置为使用2GB EM,然后每个DIA会话使用2GB堆,总计总计4GB,但是如果使用/3GB,我想它将使用3GB? 只有我在新的Application实例上,因此没有其他人正在使用内存,并且ST02显示4GB可用内存,并且在使用该内存时,应将其扩展为PHYS_MEMSIZE/2。

我已经尝试通过删除em/initial_size_MB并让SAP对其进行设置,但是由于页面大小无法启动,因此我将页面增加到20GB(2 * 8GB文件+ 1 4GB文件),但是我得到了相同的结果 超出380MB的情况无法使用EM,因此我将其恢复为4GB。

我还尝试将em/address_space_MB从512增加到2000以匹配EM大小,但是由于以下原因,实例无法启动:

内存重置被禁用为NT默认值
***错误=> NTGetBaseAddress失败,没有可用区域[esnti.c 1203]
***初始化OS时错误15
***错误=> DpEmInit:EmInit(1)[dpxxdisp.c 8610]
***错误=> DpMemInit:DpEmInit(-1)[dpxxdisp.c 8549]
* ** DP_FATAL_ERROR => DpSapEnvInit:DpMemInit
*** DISPATCHER EMERGENCY SHUTDOWN ***
提高WP的跟踪级别
***错误=> DpWpKill:非法pid(-1,5)[dpxxtool.c 2419]

所以我重置回512,然后实例开始正常运行。

我是否需要设置其他内存参数才能完全使用每个WP 2GB EM? 我更习惯于Windows X64,以前我从未遇到过此问题。

感谢您的帮助。

4条回答
悻福寶寶
2020-09-17 07:53

感谢您的回复,我将根据您的建议调整参数。

Matt-自从我也使用32位以来,已经有一段时间了,Ive刚成立了一家新公司,因此他们拥有许多这样的旧系统,所以我正在努力奋斗,以使它们继续前进! 我还与应用程序团队进行了交流,以尝试教育用户使用更多受限的报告/事务,而不是将*放在ever字段中,在Background中运行报告等,我对X64表示新的感谢!

我找不到特定的文档,该文档显示Enterprise 470上的32位CI/DB支持64位应用程序服务器,我希望添加32位应用程序服务器足以提供性能改进/可靠性。 要求。 那么,如果我们安装了64位应用程序服务器,我们是否将在APP服务器上运行64位640内核?

我只是在QAS系统上测试此设置,所以很好,我在这里遇到了这些问题,WINDows 2003 Enterprise 32位仅安装在VM Ware上,因此安装WIndows 2003 Enterprise没问题 X64并安装64位Windows 2003企业版。

一周热门 更多>