Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

关于AIX上VMO调整参数的若干说明

Posted on 2009-07-28 13:29 Prayer 阅读(3919) 评论(0)  编辑 收藏 引用 所属分类: LINUX/UNIX/AIX

关于AIX上VMO调整参数的若干说明
最近,关于AIX机器上虚拟内存参数调整的问题出现了好几次,也调过好几台机器的参数,现结合网上的文档,

把这部分知识理一理,做一下记录。

1.在AIX系统中,内存可以简单的分为两类,计算型内存和文件型内存,
在AIX操作系统中,可以使用topas命令查看整个系统的运行情况,其中一个重要的部份是系统的内存使用情况,

以及交换情况:

MEMORY
Real,MB   16032
% Comp     83.2
% Noncomp   9.9
% Client    9.9

PAGING SPACE
Size,MB   16384
% Used      3.3
% Free     96.6

在一个使用裸设备的系统中,文件型内存,即上面的%Noncomp,%Client,只需要使用整个系统很少的内存;而

把大部份的内存作为计算型内存(%Comp)来使用,这部份内存量主要为ORACLE SGA和PGA所用,其中ORACLE SGA 为

pinned memory.

根据系统内存大小,设定系统可以pin住的最大值:

     maxpin% = 80   --此值可以升高

     v_pinshm = 1   --允许pin住内存

     接下来是三个控制文件型内存的参数的值:

     maxclient% = 10 --文件型内存可使用内存总的百分比的最大值,<=maxperm%

     maxperm% = 10    --文件型内存可使用内存总的百分比的最大值

     minperm% = 5     --文件型内存可使用内存总的百分比的最小值

这三个参数,可以根据内存总量大小,进行适度调节。计算型内存与文件型内存,在实际的应用中,需要遵循

以下一些原则(前3条是参考别人的):

     1.使用的文件型内存百分比 + 使用的计算型内存百分比 < 100%

     2.计算型内存中的pinned memory设置要合理,即sga大小要设置合理,要留一部份给OS,OS也需要pinned

memory.当系统资源紧张时,OS的pinned memory具有最高的优先级.

     3.保证系统非pinned 计算型 memory有一个合理的成长空间,这部份主要是给ORACLE PGA使用,当连接数

增长过快时,此内存的使用增长也相当的明显,而此增长很有可能会导致操作系统的交换。

     当系统的使用的文件型内存百分比 + 使用的计算型内存百分比 >= 100%,系统便开始产生交换,系统的

PAGING SPACE会持续的增长,影响到产品库的安全。

     4.一般的数据库服务器,文件型内存可以使用较少的空间,因为文件型内存并不主动释放,可能造成内存

资源的短缺及Paging Space使用率过高,所以数据库服务器上maxclient、maxperm、minperm的值不宜过大,典

型值如下:

     maxclient% = 8    

     maxperm% = 12   

     minperm% = 5    

如何更改这三个参数呢, 在AIX5.3上,可以使用 vmo 命令,此命令设置或显示所有虚拟内存管理器调整参数

的当前值或下一个引导值。还可以用此命令进行永久性更改,或将更改推迟到下一次重新引导之后生效。此命令

是设置参数还是显示参数,要由所带标志来决定。带 -o 标志的话,两个操作都执行。它既可以显示参数的值,

也可以为参数设置新值。

如果在修改这些参数前,想查看这些参数的值,则可以用下面的命令:

vmo -L 或者 vmstat -v 或者vmo -a

调整:vmo -p -o maxclent%=8

     vmo -p -o maxperm%=12

     vmo -p -o minperm%=5

利用-p参数,是立即生效的,不需要重启,下次重启仍然有效。

如果是-r参数,是不立即生效的,重启生效,turns on the updating of the
/etc/tunables/nextboot file.重启生效的参数记录在 /etc/tunables/nextboot。


因为参数maxperm充当的是软限制,所以文件型内存的占用率仍然可以超过maxperm的设定值,如果需要进行强制

限制,则需要将参数strict_maxperm的值设为1,该参数的缺省值是0,但此方法需要谨慎使用。

备注:也许有人不是很熟悉vmo,反而熟悉vmtune,其实他们是一样的

AIX 5.3以前,查看参数值 vmtune -a

            修改minperm和maxperm的值为5%和20%,vmtune -p 5 -P 20

            如果是64位内核,vmtune64 -p 5 -P 20

AIX 5.3:    vmo -p -o maxperm%=20

            vmo -p -o minperm%=5


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理