AIX VMM内存优化

VMM内存优化

------------------------------------------------内存分类-----------------------------------------

     计算内存:当您的进程对计算信息进行处理时,将使用到计算内存。这些工作段是临时的,并且当进程终止或者页面被替换时,这些工作段将不复存在。在许多情况下,当一个进程终止时,将释放其物理和分页空间。当空闲物理内存较少时,将page out到分页空间,以帮助释放更多物理内存。

  

    文件内存:与计算内存不同,文件内存使用了持久段,并在磁盘上具有持久存储位置。数据文件或可执行程序通常都映射为非计算内存。

    所以,当物理内存较少,计算内存将page out到换页空间,主机性能下降,这就是我们通常看到的内存瓶颈。我们需要保护计算内存,限制非计算内存,这是我们愿意看到的情况。

------------------------------------------maxfree  和 minfree-------------------------------------------------

VMM的工作原理

   vmm就是虚拟内存管理器,内存和换页空间一般都是用页面来进行分配和管理。在内存中存在两种类型的页面:计算页面和文件页面。当我们执行程序或者读入数据的时候,内存中的页面就逐渐被占用。当空闲的内存小于MINFREE的时候,VMM的调页就被唤醒,通过调页算法,将内存中的页面转移到交换空间中,一直到空闲内存达到maxfree,才停止调页。

    两个相关参数:

1.minfree:最小空闲页链表尺寸。一旦低于该值,系统偷页以填充页链表,保证有足够的内存页面。

偷页就是将不常用的页面替换出去。

2.maxfree:最大空闲页链表尺寸。一旦高于该值,系统停止偷页。

     如果发现空闲列表不足,可以用下面的方法增加minfree参数

#vmo -o minfree=1000 -o maxfree=1008

#vmo –o minfree=1000 –o maxfree=1008 –P # -P参数使修改永久生效

   一般情况下,minfree和maxfree通过下面的公式得到:

   maxfree=minmum(memory/128,128) ,minfree=maxfree-8

----------------------------------------------大页面(适用于消耗大量内存的运用程序)------------------------------

     通过设置minfree和maxfree这两个值能够及时地为系统腾出内存页面空间,当系统在腾出内存页面空间时,相当于把一些数据从内存中page out出来,即在降低系统内存的命中率。通过下面一项简单的vmo更改,您就可以对系统进行优化以提供大型的页面,从而对于消耗大量内存的应用程序极大地提高系统性能。性能之所以得到了改进,是因为提高了Translation Lookaside Buffer (TLB)的命中率,这是因为TLB可以映射到更大的虚拟内存范围。

使用下面的命令,我们将分配 16777216 字节,以提供较大的页面(共 256 个较大的页面):

# vmo -r -o lgpg_size=16777216 lgpg_regions=256

-----------------------------------设置minperm maxperm和 lru_file_repage来保护计算内存------------------

     到目前为止,最重要的两个 vmo 设置是 minperm 和 maxperm。我们使用这些参数来确定我们的系统是倾向于使用计算性内存、还是文件内存。这里我们要做的第一项工作是,确保我们的 lru_file_repage 参数 = 0。这个参数是在 AIX 5.3 的 ML1 中引入的,用于确定是否考虑 VMM 的重新分页计数,以及它应该偷取何种类型的内存。

    lru_file_repage=1是AIX系统的default的值
   lru_file_repage参数存在的意义:
   1、是否应该考虑VMM重分页计数
   2、替换什么类型的内存
   当lru_file_repage=0的时候将只替换非计算内存,这显然达到了我们需要保护计算内存的目的。将其设置为 0,可以告诉 VMM,您仅希望偷取文件页面、而不是计算性页面。如果是 numperm < minperm 或者 > maxperm,这种情况则将有所改变,所以我们将 maxperm 设置得较高,而将 minperm 设置得非常低。

  通常我们把它们设置如下:

vmo  -p  -o  minperm%=5

vmo  -p  -o  maxperm%=90

vmo  -p  -o  maxclient%=90
参与0

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

deadman
擅长领域: 服务器存储Unix

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-01-30
  • 关注会员:0 人
  • 问题浏览:3128
  • X社区推广