[Linux]メモリ/CPUを多く使っているプロセスを調べるワンライナー

カテゴリ: Linux

LinuxでメモリやCPUを多く消費していて、パフォーマンスに影響を及ぼしているプロセスを調べたいときに便利なコマンドを2つ紹介します。

# メモリの使用量が多い順にプロセスを表示
ps aux | sort -nrk +4 | head

# CPUの使用量が多い順にプロセスを表示
ps aux | sort -nrk +3 | head

実行例は以下のような形になります。

$ ps aux | sort -nrk +4  | head
root      1413  0.0  6.8 112708 34532 ?        Sl   04:22   0:00 ruby /usr/bin/chef-client -d -P /var/r...
root      1201  0.0  6.8 182540 34432 ?        Ssl  04:22   0:00 /usr/bin/ruby /usr/bin/puppet agent
root      1477  0.0  0.8 107720  4248 ?        Ss   04:22   0:00 sshd: vagrant [priv]
vagrant   1542  0.0  0.7  21440  3852 pts/0    Ss   04:22   0:00 -bash
root      1012  0.0  0.6  61388  3072 ?        Ss   04:22   0:00 /usr/sbin/sshd -D
root         1  0.1  0.5  33636  2936 ?        Ss   04:21   0:00 /sbin/init
vagrant   1541  0.0  0.4 107720  2176 ?        S    04:22   0:00 sshd: vagrant@pts/0
root       621  0.0  0.4  10228  2412 ?        Ss   04:22   0:00 dhclient -1 -v -pf /run/dhclient.eth0.pid...
root       999  0.0  0.3  43456  1832 ?        Ss   04:22   0:00 /lib/systemd/systemd-logind
root       408  0.0  0.3  49916  1744 ?        Ss   04:21   0:00 /lib/systemd/systemd-udevd --daemon

このスクリプトは、ps auxの実行結果で、3カラム目はCPU使用率、4カラム目はメモリ使用率であることを利用しています。

何番目のカラムに何の情報があるか確認したいとき、列の並び順はps auxを単独で実行すると1行目に記載されています。

ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.5  33636  2936 ?        Ss   04:21   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    04:21   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    04:21   0:00 [ksoftirqd/0]
...
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。