关于内存使用问题

guoaaron
关于内存使用问题

8G的内存,但用vmstat看,剩余内存只有10m左右,什么回事?
内存使用率究竟是多少?
# vmstat 1 5

System configuration: lcpu=8 mem=7936MB

kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
1  0 1466254  3144   0   0   0   0    0   0  85 36762 994  1  8 90  0
2  0 1466255  3143   0   0   0   0    0   0  91 48474 1018  1 11 87  0
0  0 1466256  3142   0   0   0   0    0   0  46 17948 1012  1  4 96  0
1  0 1466255  3143   0   0   0   0    0   0  79 34965 993  1  8 91  0
0  0 1466255  3143   0   0   0   0    0   0  29 20849 977  1  5 95  0

guoaaron
自己顶啊

按照常识,内存使用率=使用内存/内存总量
那我的机器内存使用岂不是快到100%了?

he_kai
帮顶,前两天我也发了一个差不多的帖子,建议楼主看一下AIX的内存管理策略,AIX总是会尽量使用内存直到低于minfee参数,不过我还是不放心,希望有高手指点一下这个问题

RS9000
正常!不用担心!

guoaaron
坚决不让帖子沉了~~~~:em17: :em17:

pennysally
回复 #1 guoaaron 的帖子

你用svmon -G看看

blankniu
我的理解,请参观:
AIX内存分为计算内存和非计算内存,可以通过topas得到计算内存和非计算内存数值。系统通过freelist来管理内存,当freelist没有达到设置的底线时,系统从free内存中分配系统所需的内存。系统free内存就是vmstat 中看到的fre值。就楼主的问题而言,vmstat 中看到的fre为100m表明系统仍有100m内存在freelist表中。已经被分配的内存可能大部分为文件缓存,这部分缓存只有当freelist中的值低于设定值后通过lru来释放。文件缓存占用的空间可以通过svmon -G或者vmstat -v来查看。一般而言只要系统没有发生pi/po,即时fre值很低,也并不是表明内存不足。

guoaaron
打aix800问了, 服务的mm态度真的不错,分别用以下几个指令分析了:
svmon -G
svmon -U
svmon -S
svmon -Sl
svmon -P
看了几个占用内存大的应用,内存的使用现阶段还是较正常的。
概括来说,aix的内存可以说是占着。。不。。
可与pagespace一起来监控系统的内存使用情况。

iops
1. pi/po 都是0 ,代表没有内存没有问题。
2. 你的系统很闲,把繁忙时间段的vmstat贴出来,才可以代表真正的问题。