在平常管理中,咱们常常会遇到swap分区使用比较多,那么致使是那些进程使用的呢,其实咱们能够经过/proc/pid/下的smaps来得到。使用下面的命令能够列出全部进程占用的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;done| sort -k2nr | head
获取到占用Swap分区比较多的PID,而后就能够经过PID获取到进程的相关信息了。
ps aux | grep ${pid}ide