找出占用swap最多的进程

有时候监控出swap的使用量太高,而又不知道swap到底被谁用了,这时可以使用博客的这个方法找出占用swap最多的进程。在Linux内核 2.6.16中引入了一个系统内存接口特性,这个接口位于/proc/$pid/目录下的smaps文件中 ,一看内容发现是进程内存映像信息,比同一目录下的maps文件更详细些。参考文章:http://coolnull.com/3084.html

1: cat /proc/1/smaps 

    ^Swap开头的那个表示的是占用Swap的量的大小。

    那么查看你想要看的进程所使用的swap只需要:

        awk ‘/^Swap:/ {SWAP+=$2}END{print SWAP” KB”}’ /proc/$(pid)/smaps

2: 要统计出哪个命令占用最高,简单点就直接执行以下命令即可

    for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -nrk 2 

 

3: 找出占用swap高的进程后,看看能不能做什么调整,如果实在没得调整,就使用下列的命令把swap压入内存吧

    swapoff -a && swapon -a  #得先用free -m查看下内存还剩下多少

    http://www.07net01.com/linux/Linuxxiaruheshifangnacun_swapfenqumanliaozenmeban__8497_1344649111.html

 

最后附上本人的网络课堂地址,如有兴趣请点击: 实践哥

转载于:https://my.oschina.net/zhuangweihong/blog/608391

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值