すべてのプロセスとメモリのリストを表示できます。
ps aux
VSZとRSSを見つけてください。
このコマンドの出力をRSS値の降順にソートする方法はありますか?
答え1
答え2
迅速で汚い方法は、出力をコマンドps aux
にパイプすることです。sort
$ ps aux | sort -rn -k 5,6
はい
$ ps aux | sort -rn -k 5,6
...
root 1584 0.0 0.0 22540 1236 ? S 07:04 0:01 hald-addon-storage: polling /dev/sr0 (every 2 sec)
root 1575 0.0 0.0 22536 872 ? S 07:04 0:00 /usr/libexec/hald-addon-generic-backlight
root 1574 0.0 0.0 22536 880 ? S 07:04 0:00 /usr/libexec/hald-addon-leds
root 1565 0.0 0.0 22536 876 ? S 07:04 0:00 /usr/libexec/hald-addon-rfkill-killswitch
saml 2507 0.0 0.0 22232 500 ? S 07:05 0:00 dbus-launch --sh-syntax --exit-with-session
root 1671 0.0 0.0 22156 936 ? Ss 07:04 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
...
これは出力と混在する列ヘッダーを処理しませんが、コマンドラインで覚えやすく、その出力を手動で表示するときに必要な操作を実行することができます。
はい
root 1791 0.0 0.0 4140 536 tty2 Ss+ 07:04 0:00 /sbin/mingetty /dev/tty2
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 996 0.0 0.0 0 0 ? S 07:04 0:01 [kdmflush]
root 982 0.0 0.0 0 0 ? S 07:04 0:00 [kvm-irqfd-clean]
追加のヒント
別の方法は、出力全体を別のコマンド(たとえば)にパイプすることですless
。これにより、一度に1ページの情報を表示したり、矢印キーとページ上/下キーを使用して出力を前後にスクロールしたりできます。
$ ps aux | sort -rn -k 5,6 | less
出力が大量にラップされている場合は、-S
スイッチを少なくすることもできます。これにより、すべての出力が1行に保持されます。次に、矢印キーを使用して左/右/上/下に移動してすべてを表示できます。
$ ps aux | sort -rn -k 5,6 | less -S
ps内でソート
一部のバージョンではps
の使用を提供しています--sort
。その後、このスイッチは、+
プレフィックスがaまたはaのキーを使用して、最小の-
ものから最大のもの、または最大のものから最小のものまでのソート順を表すことができます。
はい
vsz,-rss
$ ps aux --sort=vsz,-rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 07:03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:03 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 07:03 0:01 [migration/0]
root 5 0.0 0.0 0 0 ? S 07:03 0:00 [watchdog/0]
+vsz、+rss
$ ps aux --sort=+vsz,+rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2 0.0 0.0 0 0 ? S 07:03 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 07:03 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 07:03 0:01 [migration/0]
root 5 0.0 0.0 0 0 ? S 07:03 0:00 [watchdog/0]
-vsz、-rss
$ ps aux --sort=-vsz,-rss | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1832 0.0 0.0 2088924 3312 ? Sl 07:04 0:00 /usr/sbin/console-kit-daemon --no-daemon
saml 3517 0.2 1.2 2073196 100492 ? Sl 07:06 0:34 /home/saml/.dropbox-dist/dropbox
saml 3516 0.0 0.8 2071032 67388 ? Sl 07:06 0:07 /home/saml/.dropbox-dist/dropbox
saml 2657 0.1 0.7 1580936 57788 ? Sl 07:05 0:27 nautilus
答え3
このコマンドは、psが使用されている物理メモリを反映していない場合にも役立ちます。
ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'
答え4
簡単な方法はインストールすることです。トップ
PID、CPU比、MEMに基づいてプロセスをソートできます。
より複雑