互联网服务AIX非计算内存

aix非计算内存占用过高案例一则, 对aix comp 和nocomp 的疑问?

两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高: MEMORY Real,MB 40959 %Comp 71.6 %Noncomp 20.4 %Client 20.4而另外一台机器的%Noncomp 只有2.4这主要是jfs2文件系统的cache,可以用svmon -S的输出来看,是哪些文件: p5a@/#svmon -SV...显示全部
两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高:
MEMORY Real,MB 40959 %Comp 71.6 %Noncomp 20.4 %Client 20.4
而另外一台机器的%Noncomp 只有2.4
这主要是jfs2文件系统的cache,可以用svmon -S的输出来看,是哪些文件:
p5a@/#svmon -S
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
63ad8a - clnt /dev/a1orabaklv:37 s 233857 0 - -
3110c0 - clnt /dev/a1orabaklv:54 s 219973 0 - -
728dce - clnt /dev/a1orabaklv:69 s 216952 0 - -
e303c - clnt /dev/a1orabaklv:68 s 214549 0 - -
677599 - clnt /dev/a1orabaklv:70 s 113060 0 - -
2c32b4 - clnt /dev/a1orabaklv:71 s 103260 0 - -
3678dd - clnt /dev/a1orabaklv:33 s 95075 0 - -
6f6db9 - clnt /dev/a1orabaklv:59 s 81645 0 - -
d003 - work kernel heap s 65536 0 0 65536
0 - work kernel segment (lgpg_vsid=0) L 16 16 0 16
3708d8 - work s 65520 0 0 65520
188866 - work s 65520 0 8 65520
可以看到是/dev/a1orabaklv这个LV占用了大量的内存,每个文件大概900M,查看mount:
p5a@/#mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/a1orabaklv /orabak jfs2 Jul 12 14:41 rw,log=/dev/a1bjfs2log
p5b@/#mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/backuplv /orabak jfs2 Jul 12 20:34 rw,dio,log=/dev/backj2loglv
可以看到区别在于,p5a上/orabak没有设置dio属性,而p5b机器上有,可以考虑把p5a上的/orabak增加dio属性,用smit chjfs2选择/orabak,在mount options中手工填写dio,然后umount /orabak再mount /orabak就OK了。再查看%Noncomp 已经降到3.1,而mount命令查看/orabak文件系统已经增加了dio属性:

/dev/a1orabaklv /orabak jfs2 Aug 20 10:59 rw,dio,log=/dev/a1bjfs2log


原文地址:http://www.banping.com/2009/07/15/aix_noncomp/


疑问: 我对计算内存和非计算内存还是朦朦胧胧,  计算内存过高有什么影响,非计算内存过高又有什么影响?
加了个dio 为啥就低了?
收起
参与10

查看其它 7 个回答wangql的回答

wangqlwangql系统工程师NULL
非计算内存会缓存文件系统的缓存,以用来提高io的性能,因为内存终究要比磁盘快很多。
对于oracle来说,它有自己的内存机制,如SGA,PGA等等,如果使用文件系统类型的话,数据要进行两次缓存(sga层一次,文件系统一次),这是多此一举的,从某种程度上讲,而且反而会拖慢io的性能。因此,使用裸设备或者asm类型的数据库存储方式(数据库直接操作磁盘,缓存机制由oracle自己实现,如sga),在性能上会比文件系统类型的要有显著的提高。

dio(还有个cio)就是关闭了文件系统需要在内存中cache的一个功能,用起来感觉跟裸设备差不多。所以,你加了这个参数会发现非计算内存有下降,在不考虑其他应用的io问题情况下,用topas或者vmstat等参数会发现wio也会有所下降。
IT咨询服务 · 2012-02-13
浏览6592

回答者

wangql
wangql41446
系统工程师NULL
擅长领域: 存储备份软件定义存储

wangql 最近回答过的问题

回答状态

  • 发布时间:2012-02-13
  • 关注会员:2 人
  • 回答浏览:6592
  • X社区推广