- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从PRIV模式谈起
从PRIV模式谈起--SAP内存管理(一)(2013-02-24 20:00:31)转载▼标签:it分类:技术记得多年前做开发时候,有很多Developer’s Guide To protecting Memory。现在硬件内存都很大了,不知道现在的开发人员是否还考虑内存分配。下面我们从系统管理员的角度谈谈SAP内存管理。?我们系统管理员偶尔会发现Dialog进程进入了PRIV模式,那么如何避免进程进入到PRIV模式呢?这就需要从SAP内存管理谈起。在SAP标准课程ADM315中,对SAP内存分配以及如何避免进入到PRIV模式有着详细的介绍。DIA进程是先用Roll mem,再Extended mem然后再是Heap mem,一但DIA用到了Heap就会出现PRIV的现象。上图是SAP的内存区域,主要分为共享内存和本地内存两部分。本地内存是给每个SAP工作处理进程而生成的,这部分内存包括SAP指针缓存;传输数据到数据库或者从数据库中传输数据的I/O缓存区。共享内存部分对所有的工作进程都是透明的,都可以被读取。一台物理服务器上可以有多个SAP实例,一个实例只能读取自己实例的共享内存,而不能读取其他实例的共享对象。这里的虚拟内存是指操系统上所有可用的内存,一般是实际物理内存与交换分区的总和。1。在共享内存中,SAP Buffer存放着所有用户以及工作进程的全局对象,例如程序,被缓存表的内容(在SAP系统管理中,可以对一些数据库表在应用服务器层面进行缓存)。这些缓存还包括PXA缓存,Nametab缓存,日历。PXA是指ABAP程序缓存(SAP 程序也是放到数据库中的),命中率要在95%以上。NameTab缓存指的是ABAP 数据字典缓存,包含了表DDNTT(表定义)以及DDNTF(字段定义)中的数据,NTAB的数据存放于四个缓存块中。分别是:TTAB:由参数rsdb/ntabe/entrycount决定其大小FTAB:由参数rsdb/ntab/ftabsize决定其大小IRBD:由参数rsdb/ntab/irdb决定其大小SNTAB:由参数rsdb/ntab/sntabsize决定其大小NTAB的命中率应该要在95%以上,低于这个指标,一定要找到原因,否则影响性能。2。卷内存(Roll Buffer)包含了用户上下文的初始部分,例如用户的基本信息,以及用户主记录中的一些默认值。下图说明了Roll buffer的作用3。扩展内存主要存放用户的背景信息从3.0版本开始,用户的北京信息大部分存放于此。因为这部分内存是Shared Memory,因此,所有的SAP工作进程可以直接编辑所存储的用户背景信息。因此,在Roll-in过程中不是整个用户信息都被复制到工作进程的本地内存中(可以参考Roll buffer的图),而只是复制指明在SAP扩展内存中用户背景信息位于何处的地址(也就是指针拉)。通过使用扩展内存可以最大的减少Roll-in和Roll-out中复制的数据量,使得卷处理总体上更快。SAP扩展内存是作为共享内存来分配的:1)当SAP 实例启动的时候,所分配的SAP扩展内存的大小由参数em/initial_size_MB定义2)扩展内存在内部被分为块大小使用,参数em/blocksize_KB默认是1024KB,建议不要改,除非有notes指出3)ztta/roll_extension定义了在SAP扩展内存中一个用户背景信息的最大值。这个用来防止单个用户用一个高内存集中的交易而耗光整个扩展内存,而不给其他用户留下可用空间。4。页面缓存?不要跟我们所说的操作系统级的页面交换搞混。它专门存放了调用专门ABAP命令得到的对象,如extract 数据抽取,与上下文相对独立的对象,。但它确实会跟操作系统进行交换,这也是为啥它叫页面缓存的原因了。5。堆内存(heap Memory)与扩展内存存放的东西相同。只有在扩展内存被耗尽的时候,这部分内存才会启用。所以,它是按需要进行分配和释放的。也就是说它不是SAP系统启动时候就预先分配好的,只有当扩展内存被耗光并且仍然需要内存的时候,heap memory才会被分配。
文档评论(0)