一. 内存概览:

说明:

系统能够使用的内存大小(即虚拟内存)一定小于或等于物理内存与Swap容量的总和;
64位UNIX要求至少20 GB的swap file;
当同一服务器包含ORACLE数据库和SAP实例的系统(即Central System)时,使用的内存数量比例为30%和70%。即数据库将至少使用30%的物理内存,SAP至少使用70%的物理内存,当两者大于物理内存时,系统将请求磁盘上的swap开销;
所有其他应用服务器(DI)的内存设置应该大于等于100%的物理内存,当开销大于物理内存时,系统将请求磁盘上的swap开销;
其它内存区域可以通过映射来使用扩展内存区域。 

二. 扩展内存:

说明:

SAP扩展内存是SAP内存管理系统的核心;
em/initial_size_MB和em/max_size_MB决定扩展内存的初始大小和最大值;
em/blocksize_KB决定扩展内存的单位,开辟的扩展内存最大是8192个该单位。64位操作系统建议一个单位为4096(即4MB),表示最大能使用的扩展内为32GB内存,超过配额将使用swap开销;
em/address_space_MB为每个用户进程的用户上下文所能使用的最大扩展内存大小。该参数适用于Windows平台,UNIX平台不必设置,即屏蔽该参数后使用默认的缺省值为4GB;
em/global_area_MB除AIX和Windows外应该为255;
ztta/roll_extension表示每用户使用的扩展内存,建议最大配额为2GB。
 三. 内存分配的顺序:

说明:

Roll memory初始分配不能分配过大,建议分配仅1个字节。如果配额不够,由ztta/roo_area决定Roll area的大小; 
Extended memeory的大小分配原则请参考上文叙述; 
Heap memory的分配为2GB,超过配额将请求swap开销。 
 四. 结论:

用户使用SAP内存时,首先由进程开辟Roll area,通过共享内存的Roll Buffer来Roll in和Roll out,当Roll Buffer超出配额时,将会请求操作系统的Roll file来开销; 
当用户请求Extended memory(扩展内存)时,能够利用磁盘上的swap来开销; 
当扩展内存达到极限后,将利用开辟的Private memory来开销

posted on 2008-09-01 12:49  diyang  阅读(1186)  评论(0编辑  收藏  举报