免费注册 查看新帖 |

Chinaunix

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

[系统管理] 根据/proc/meminfo如何计算top显示的mem used和total [复制链接]

论坛徽章:
1
巨蟹座
日期:2014-04-23 23:20:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-17 14:56 |只看该作者 |倒序浏览
top的mem 行used显示7g,但根据下面方法
  1. $ cat cm.sh
  2. #/bin/bash
  3. for PROC in `ls /proc/|grep "^[0-9]"`
  4. do
  5.   if [ -f /proc/$PROC/statm ]; then
  6.       TEP=`cat /proc/$PROC/statm | awk '{print ($2)}'`
  7.       RSS=`expr $RSS + $TEP`
  8.   fi
  9. done
  10. RSS=`expr $RSS \* 4`
  11. PageTable=`grep PageTables /proc/meminfo | awk '{print $2}'`
  12. SlabInfo=`cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024}'`

  13. echo $RSS"KB", $PageTable"KB", $SlabInfo"MB"
  14. printf "rss+pagetable+slabinfo=%sMB\n" `echo $RSS/1024 + $PageTable/1024 + $SlabInfo|bc`
  15. free -m
复制代码
计算的rss+slab+pagecache 总共才1g,严重怀疑哪里泄露了,因此想根绝meminfo各项算一下,到底used是怎么来的,哪一项占据最多,从而进一步排查问题。

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
2 [报告]
发表于 2015-09-17 18:56 |只看该作者
不是内存泄漏, 通常是文件系统的 cache 吃掉了,如果没有cache,你访问文件会感觉慢的要死。

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
3 [报告]
发表于 2015-09-17 19:01 |只看该作者
and:

ps 已经帮我们解析过/proc信息了;不需要再解析一遍
直接用ps+awk就可以:   ps axu | awk '{sum+=$6} END {print sum " kB"}'

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
4 [报告]
发表于 2015-09-17 19:04 |只看该作者
关于linux page cache的介绍很多,可以google一下:
  e.g:  https://www.thomas-krenn.com/en/wiki/Linux_Page_Cache_Basics
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP