[解決済み】実際のメモリ使用量でソートされたトッププロセスを見るには?
質問
メモリが12Gのサーバーがあります。トップページの一部を以下に示します。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12979 frank 20 0 206m 21m 12m S 11 0.2 26667:24 krfb
13 root 15 -5 0 0 0 S 1 0.0 36:25.04 ksoftirqd/3
59 root 15 -5 0 0 0 S 0 0.0 4:53.00 ata/2
2155 root 20 0 662m 37m 8364 S 0 0.3 338:10.25 Xorg
4560 frank 20 0 8672 1300 852 R 0 0.0 0:00.03 top
12981 frank 20 0 987m 27m 15m S 0 0.2 45:10.82 amarok
24908 frank 20 0 16648 708 548 S 0 0.0 2:08.84 wrapper
1 root 20 0 8072 608 572 S 0 0.0 0:47.36 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
は
free -m
は以下のように表示されます。
total used free shared buffers cached
Mem: 12038 11676 362 0 599 9745
-/+ buffers/cache: 1331 10706
Swap: 2204 257 1946
私の理解が正しければ、システムには362MBの空きメモリしかありません。私の質問は、どのプロセスが最も多くのメモリを消費しているかを調べるにはどうしたらよいかということです。
背景情報として、システムで実行されているのは
64bit OpenSuse 12
.
解決方法は?
まず、「未使用メモリは無駄なメモリである」という言葉をしばらく繰り返してください。Linuxカーネルは 巨大 ファイルのメタデータと要求されたファイルを、より重要そうなものがそのデータを押し出すまで、大量に保存します。そのために実行できるのです。
find /home -type f -name '*.mp3'
find /home -type f -name '*.aac'
で、2番目の
find
インスタンスがとんでもないスピードで実行されます。
Linuxは、メモリ使用量の急増を無理なく処理するために、ほんの少ししかメモリを「解放」しません。
次に、メモリを食いつぶしているプロセスを見つけることです。
top
を使用します。
M
コマンドを使用すると、メモリ使用量でソートできます。を無視してもかまいません。
VIRT
この列は、仮想メモリの割り当て量を示すだけで、プロセスが使用しているメモリの量を示すわけではありません。
RES
は、どれだけのメモリが
常駐
ディスクにスワップされたり、要求されても実際には割り当てられていないのとは対照的です)。
しかし
RES
は、例えば
/lib/libc.so.6
のメモリをほぼすべてのプロセスで一度だけ使用するため、あるプロセスがどれだけのメモリを使用しているかを知るための素晴らしい指標とは言えません。そのため
SHR
列は、どれだけのメモリが
共有
しかし、他のプロセスが実際に共有しているという保証はありません。
その
smem
このツールは、ユーザーがどの程度のメモリが必要かを判断するのに役立つように設計されています。
本当に
は、個々のプロセスのせいにしています。これは、何が本当にユニークで、何が共有されているかを把握し、共有メモリとそれを共有するプロセスを比例的に集計する巧妙な作業を行います。
smem
よりも、メモリがどこに行っているかを理解するのに役立つかもしれません。
top
が、しかし
top
は、最初のツールとして最適です。
関連
-
[解決済み] gzip: stdin: not in gzip format tar: 子プロセスがステータス 1 を返しました。エラーは回復不可能:現在終了中
-
[解決済み] 圧縮データが無効です。
-
[解決済み] Nautilusのようにコマンドラインからマウントする方法とは?[クローズド]です。
-
[解決済み] sudo: must be setuid root" というメッセージが出るが、sudo は既に root が所有している [closed] 。
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Androidでアプリケーションのメモリ使用量を確認するにはどうすればよいですか?
-
[解決済み] アプリケーションやプロセスの実際のメモリ使用量を測定するにはどうすればよいですか?
-
[解決済み] linux/unixプロセスのピーク時メモリ使用量 [終了しました]。
-
[解決済み】Pythonでメモリ使用量をプロファイルするにはどうすればよいですか?
-
[解決済み】LinuxでJavaの仮想メモリ使用量、メモリ使用量が多すぎる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Bashスクリプトでスクリプトファイル名を知るには?
-
[解決済み] rm -rfを元に戻すには?[クローズド]
-
[解決済み] Linuxで.dllを使用することは可能です [重複].
-
[解決済み] 負荷警告: エントリ シンボル _start が見つかりません
-
[解決済み] ftp: 名前またはサービスが不明
-
[解決済み] Bashを使ったファイルの検索とコピー [重複]。
-
[解決済み] SIGRTMAXとSIGRTMINの使い方は?
-
[解決済み] 次のコマンドの -print0 の意味を教えてください。
-
[解決済み] ls: 読み込みディレクトリ .: 入出力エラー [閉じた].
-
[解決済み] Vimを保存して終了するにはどうしたらいいですか?