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条回答
d56caomao
2020-09-17 07:47

您可以在注释308375和

中找到有关64位和32位平台上SAP Kernel/DB/OS可能组合的信息。

192822。

还要考虑到SAP仅支持Windows 64位作为WMWare上的来宾操作系统。

一周热门 更多>