Swapを使っているプロセスを特定する
Swapを使っているプロセスを特定する方法をメモしておく。
使用しているOSは、Ubuntu18.04。
結論からいうと、以下でOK。
# grep VmSwap /proc/*/status | sort -n -k 2 -r
オペレーションの流れ
swapが使われていることを確認する。
# free -h total used free shared buff/cache available Mem: 7.8G 1.0G 1.9G 1.5M 4.9G 6.5G Swap: 1.5G 748M 772M
swapを使っているプロセスを特定する。
# grep VmSwap /proc/*/status | sort -n -k 2 -r | head -5 /proc/18845/status:VmSwap: 747488 kB /proc/20946/status:VmSwap: 8156 kB /proc/19001/status:VmSwap: 2340 kB /proc/20985/status:VmSwap: 1232 kB /proc/20983/status:VmSwap: 1232 kB
原因は、netdataだった。
# ps -p 18845 uwww USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND netdata 18845 0.7 6.8 1490180 562492 ? Ssl Feb20 1162:59 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D -W set global process scheduling policy keep -W set global OOM score keep