- 论坛徽章:
- 0
|
本帖最后由 BHR_kramer 于 2012-05-21 15:34 编辑
发现sar swap vmstat 这几个命令得出的信息比较混乱。 求指教
看sar的man手册,其中 sar -r是这么解释的- -r Reports unused memory pages and disk blocks:
- freemem average pages avail-
- able to user
- processes.
- freeswap disk blocks avail-
- able for page swap-
- ping.
复制代码 我的理解,man手册是说 得到的freemem是 page的数量为单位, freeswap是disk block 的个数为单位。
那么下面命令返回结果如下- bash-3.00# sar -r 6 2
- SunOS xiete 5.10 Generic_147440-09 sun4u 05/21/2012
- 15:08:40 freemem freeswap
- 15:08:47 87763 18283392
- 15:08:53 87763 18283392
- Average 87763 18283392
复制代码 我的系统上,block size是512,可以得出结论,空闲的swap 应该是 18283392*512/1024=9141696k
----------------------------------------------------------------------------------
再看 swap命令的man手册,其中 -s最后有这么一段- These numbers include swap space from all configured
- swap areas as listed by the -l option, as well swap
- space in the form of physical memory.
复制代码 理解是, swap -s 得出的数据包含swap的大小以及物理内存的大小
所以 下面的命令- bash-3.00# swap -s
- total: 13142696k bytes allocated + 5732008k reserved = 18874704k used, 9142120k available
复制代码 最后的9142120k 应该是 空闲的swap和物理内存之和。
可是前面sar 得到的swap 大小9141696k 和 这里的9142120k 相差不多 , 才424k。 难道说 物理空闲内存为424k吗?
到此处有3个疑问
1. swap -s 看到的到底是 swap的大小还是 swap加物理内存的大小
2. sar -r中 freeswap的大小是自己swap的空闲大小么?还是其他的什么?
3. sar -r中 freemem的大小是自己 mem的空闲大小么? 还是其他的什么?
---------------------------------------
通过vmstat得到的结果又不一样。 vmstat 的man手册中有如下一段- memory Report on usage of virtual and real memory.
- swap available swap space (Kbytes)
- free size of the free list (Kbytes)
复制代码 这里的意思是说 vmstat得到的swap是空闲swap的大小,free 得到的是实际物理内存的空闲大小。
可是根据下面的输出- bash-3.00# vmstat
- kthr memory page disk faults cpu
- r b w swap free re mf pi po fr de sr m0 m1 m3 m4 in sy cs us sy id
- 0 0 0 10373048 1002752 17 84 71 0 1 0 0 0 0 1 0 4965 14914 10150 23 2 75
复制代码 swap 的大小为10373048k 远远大于之前sar 和 swap得到的值, 这就很离谱了。 到底这里得到的swap是正确的还是 另外两个命令得到的是正确的?
mem 的大小为1002752k 也远远大于之前sar得出的值(87763 *8192/1024) , 这又是谁对呢? |
|