免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2286 | 回复: 2
打印 上一主题 下一主题

solaris 上vmstat swap sar的几个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-21 15:29 |只看该作者 |倒序浏览
本帖最后由 BHR_kramer 于 2012-05-21 15:34 编辑

发现sar swap vmstat 这几个命令得出的信息比较混乱。 求指教



看sar的man手册,其中 sar -r是这么解释的
  1.      -r              Reports unused memory pages and disk blocks:

  2.                      freemem                 average pages avail-
  3.                                              able     to     user
  4.                                              processes.

  5.                      freeswap                disk  blocks  avail-
  6.                                              able  for page swap-
  7.                                              ping.
复制代码
我的理解,man手册是说 得到的freemem是 page的数量为单位, freeswap是disk block 的个数为单位。
那么下面命令返回结果如下
  1. bash-3.00# sar -r 6 2

  2. SunOS xiete 5.10 Generic_147440-09 sun4u    05/21/2012

  3. 15:08:40 freemem freeswap
  4. 15:08:47   87763 18283392
  5. 15:08:53   87763 18283392

  6. Average    87763 18283392

复制代码
我的系统上,block size是512,可以得出结论,空闲的swap 应该是 18283392*512/1024=9141696k


----------------------------------------------------------------------------------
再看 swap命令的man手册,其中 -s最后有这么一段
  1. These numbers include swap  space  from  all  configured
  2.          swap  areas  as  listed  by  the -l option, as well swap
  3.          space in the form of physical memory.
复制代码
理解是, swap -s 得出的数据包含swap的大小以及物理内存的大小
所以 下面的命令
  1. bash-3.00# swap -s
  2. 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手册中有如下一段
  1.      memory          Report on usage of virtual and real memory.

  2.                      swap     available swap space (Kbytes)

  3.                      free     size of the free list (Kbytes)
复制代码
这里的意思是说 vmstat得到的swap是空闲swap的大小,free 得到的是实际物理内存的空闲大小。
可是根据下面的输出
  1. bash-3.00# vmstat
  2. kthr      memory            page            disk          faults      cpu
  3. r b w   swap  free  re  mf pi po fr de sr m0 m1 m3 m4   in   sy   cs us sy id
  4. 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) , 这又是谁对呢?

论坛徽章:
2
2015年迎新春徽章
日期:2015-03-04 09:58:11IT运维版块每日发帖之星
日期:2015-10-04 06:20:00
2 [报告]
发表于 2012-05-21 15:58 |只看该作者
自我理解,swap -s   9142120k available  是剩余物理内存+交换区。
sar -r  freeswap也是剩余物理内存+空闲交换区
sar -r freemem是空闲的物理内存
通过prtconf -v |grep -i mem  查看实际内存大小可以知道内存的使用(prtdiag -v也可以),通过format查看系统盘swap分区大小可以知道指定swap的大小。
然后你就会知道使用的内存是多少,空闲的是多少

论坛徽章:
0
3 [报告]
发表于 2012-05-21 15:59 |只看该作者
结论,
swap -s 看到的就是空闲swap 加空闲物理内存的大小
sar -r     看到的swap是空闲的swap大小
sar -r     看到的free是 可用的 物理内存大小。要非常注意的是这里的可用不是指空闲,这里的可用包括空闲以及buffer
vmstat   看到的swap是swap的大小,
vmstat   看到的free是可用的 物理内存大小。要非常注意的是这里的可用不是指空闲,这里的可用包括空闲以及buffer


所以以后要
想知道,可用的swap大小,就用sar 或者 swap -s,但是swap -s得出的值会包含空闲的物理内存
想知道,空闲物理内存大小,就用swap -s 减去 sar得出的值,但这基本没什么意义吧?通常需要的是可用的,而不用关心空闲
想知道,可用的物理内存大小,就用vmstat 或者 sar -r
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP