两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高:
MEMORY Real,MB 40959 %Comp 71.6 %Noncomp 20.4 %Client 20.4
而另外一台机器的%Noncomp 只有2.4
这主要是jfs2文件系统的cache,可以用svmon -S的输出来看,是哪些文件:
[email protected]/#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:
[email protected]/#mount
node mounted mounted over vfs date options
-------- --------------- --------------- ------ ------------ ---------------
/dev/a1orabaklv /orabak jfs2 Jul 12 14:41 rw,log=/dev/a1bjfs2log
[email protected]/#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
疑问: 我对计算内存和非计算内存还是朦朦胧胧, 计算内存过高有什么影响,非计算内存过高又有什么影响?
加了个dio 为啥就低了?
原文地址:https://www.cnblogs.com/liujiacai/p/9261488.html