web-dev-qa-db-ja.com

プロセスのメモリ使用量をグラフ化する

Ubuntuで選択したプロセスのメモリ使用量を視覚的に表示するツールを知っている人はいますか?

ps auxは数値のスナップショットを表示しますが、プロセスをハンマーで操作して予期せぬ動作が見られるようになったら、変化を監視できる行が本当に欲しいです。

誰か提案はありますか?

42
BanksySan

それを行うための実際のツールは見つかりませんでした。

しかし、私はそれを行うきちんとした小さなスクリプトのセットを見つけました。

この小さなbashループを使用してロギングを実行します。

while true; do
ps -C <ProgramName> -o pid=,%mem=,vsz= >> /tmp/mem.log
gnuplot /tmp/show_mem.plt
sleep 1
done &

これにより、/ tmp/mem.logと呼ばれるメモリ使用量の素敵な小さなログファイルが作成されます。次に、次のスクリプトを使用してgnuplotでデータの画像を生成します(これを/tmp/show_mem.pltに入れます):

set term png small size 800,600
set output "mem-graph.png"

set ylabel "VSZ"
set y2label "%MEM"

set ytics nomirror
set y2tics nomirror in

set yrange [0:*]
set y2range [0:*]

plot "/tmp/mem.log" using 3 with lines axes x1y1 title "VSZ", \
     "/tmp/mem.log" using 2 with lines axes x1y2 title "%MEM"

次に、デフォルトのGNOME画像ビューアで画像を開くと、変更時に画像が再ロードされます。したがって、上記のすべてのループがバックグラウンドで実行されている場合、画像ビューア内で素晴らしいメモリ使用量グラフ作成ツールが実行されているように見えます:)

現在追跡しているプロセスは次のようになります。 Graph of rising memory usage

私にはいくつかのメモリの問題があるようです:(

これの多くは http://brunogirin.blogspot.com.au/2010/09/memory-usage-graphs-with-ps-and-gnuplot.html からリッピングされました。 。

103
LovesTha

「top」の代わりに「htop」を使うのが本当に好きです。それは非常にカラフルで、セットアップ、検索、反転、ツリー、並べ替え、ニース、キルなどの多くのオプションがあります。試してみる:

$ Sudo apt-get install htop

htop

15
César

受け入れられた答えは私にとってはうまくいきましたが、私はメモリを測定したいときはいつでもこのすべてを行うのに少し疲れていたので、これのための小さなツールを作成しました:

https://github.com/parikls/mem_usage_ui

5
parikLS

トップはトリックを行います

top -b | grep {name of process}
top -b -p {PID}
top -b -u {userid}
3
b7kich

コマンドラインで「top」コマンドを実行してみてください。これにより、Windowsタスクマネージャーと同様のプロセスのリストが表示されます。

0
NickLH