GNU/Linux >> Linux の 問題 >  >> Linux

メモリ使用量によるプロセスの並べ替え

次のコマンドを使用してください:

ps aux --sort -rss

Linux プロセスのメモリ使用量の詳細については、こちらを確認してください


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 を利用することもできます less に切り替えると、代わりにすべての出力が強制的に 1 行に表示されます。次に、矢印キーを使用して左右上下に移動し、すべてを見ることができます。

$ ps aux | sort -rn -k 5,6 | less -S

ps 内での並べ替え

ps の特定のバージョン --sort を使用する機能を提供します .このスイッチは、+ で始まるキーを取得できます。 または - 並べ替え順序を示します...最小から最大、または最大から最小。

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

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 "" }'

Linux
  1. バッチモードで「top」を使用してメモリ使用量で上位15のプロセスを検索

  2. Linuxで最も高いメモリとCPU使用率で上位のプロセスを検索する

  3. Linuxのメモリ使用量

  1. プログラムのRAM使用量を測定しますか?

  2. ClamAV のメモリ使用量を減らすには?

  3. tmpfs の使用とサイズ変更

  1. メモリとCPU使用率で上位のプロセスを見つける方法

  2. Linux –実際のメモリ使用量?

  3. プロセスのピーク時のメモリ使用量