加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

swap占用过高时 如何查视哪个经常占用了swap

发布时间:2022-03-25 00:23:19 所属栏目:MySql教程 来源:互联网
导读:近日发现swap告警。 此刻 如果我想知道 swap主要是被哪个经常占用。 因为 我这是一台mysql服务器。。如果不是被mysql占用 我理论上 可以不去处理这个swap 使用命令 for i in $( cd /proc;ls |grep ^[0-9]|awk $0 100) ;do awk /Swap:/{a=a+$2}END{print $i
       近日发现swap告警。

      此刻 如果我想知道 swap主要是被哪个经常占用。
 
      因为 我这是一台mysql服务器。。如果不是被mysql占用 我理论上 可以不去处理这个swap
 
     使用命令
 
     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 2>/dev/null ; done | sort -k2nr | head -10
 
输出如下值  第一列是pid
 
 head -10
 
18906 12385.2M
 
3755 431.055M
 
38125 400.004M
 
37271 63.0781M
 
37852 60.9492M
 
37661 38.0156M
 
37088 28.1953M
 
1997 18.4219M
 
73344 11.8711M
 
73331 10.2852M
 
可以看到pid=18906的这个经常 占用了最多的swap
 
好的 到此为止 就发现了 到底哪个进程在使用swap
 
之后就是如何取处理这个swap  此处不做介绍。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读