2016-12-01 1 views
0

時間の経過とともにアプリケーションメモリを監視し、グラフとして表示するツールはありますか?MacまたはLinuxでのメモリモニタ

たとえば、Windowsではperfmonがあります。私は、監視したいプロセスと解像度を簡単に設定し、時間の経過とともにグラフを見ることができます。

MacまたはLinuxに類似したものはありますか?

ありがとうございました。

答えて

1

一つの方法は、それがgnuplotbashでスクリプトに自分自身である:

$ cat memory-plot.pg 
#!/usr/bin/gnuplot 
reset 
set terminal dumb 120,40 
set xdata time 
set timefmt "%Y-%m-%dT%H:%M:%S" 
set format x "%H:%M" 
set xlabel "time" 
set ylabel "RSS, KB" 
set title "Process RSS over time." 
set grid 
set style data linespoints 
plot "< tail -n 90 rss.txt" using 1:2 title "RSS" 

$ pid=`pgrep Xorg`; clear; while sleep 1; do (printf "%(%Y-%m-%dT%H:%M:%S)T "; ps -ho rss,cmd -p $pid) >> rss.txt; printf "\033[0;0H"; gnuplot memory-plot.pg; done 

出力ターミナルでのライブチャート:

            Process RSS over time. 

    105500 +-+--+-----+----+----+-----+----+----+-----+----+-----+----+----+-----+----+----+-----+----+----+-----+--+-+ 
     +   +   +   +   +   +   +   +   +   +   + 
     |   :A  :   :   :   :   :   :   :  RSS +--A--+ | 
     |   :|  :   :   :   :   :   :   :   :   | 
     |   :|  A : -A  A :   :   :   :   :   :   :   | 
    105000 +-+.........|......|..A.|....A|..........................................................................+-+ 
     |   :|  | :| | || :   :   :   :   :   :   :   | 
     |   :|  ||| | || : AA  :   :   :   :   :   :   | 
     |   :|  ||| | || : ||  :   :   :   :   :   :   | 
    104500 +-+.........|.....|.|...|....||....A..|..................................................................+-+ 
     |   :|| | A: | || : | | :   :   :   :   :   :   | 
     |   :|| | : | | | : | | :   :   :   :   :   :   | 
     |   :|| | : | | | : | A :   :   :   :   :   :   | 
     |   :|| A : | | | : | | :   :   :   :   :   :   | 
    104000 +-+.........||.AAA.......|..|..|...|...|.................................................................+-+ 
     |   :||A  : | | |: | | :   :   :   :   :   :   | 
     |   :|||  : | AA |: | | :   :   :   :   :   :   | 
     |   | |  : |A |: |  | :   :   :   :   :   :   | 
     |   | A  : || |: |  | :   :   :   :   :   :   | 
    103500 +-+........|.............||....|..|.....|................................................................+-+ 
     |   |   : || |: A  |AAAAAAAAAAAA-AAAAAAAAAAAA-AA-AAAAAAAAAAAAAA-AAAAAAAAAAAAA   | 
     |   |   : |  |: |  || :   :   :   :   :   :   | 
     |   |   : |  |:|  A :   :   :   :   :   :   | 
     |   |   : A  AAA   :   :   :   :   :   :   | 
    103000 +-+........|.............................................................................................+-+ 
     |   |   :   :   :   :   :   :   :   :   | 
     |   |   :   :   :   :   :   :   :   :   | 
     |   |   :   :   :   :   :   :   :   :   | 
    102500 +-+........|.............................................................................................+-+ 
     |   |   :   :   :   :   :   :   :   :   | 
     |   |   :   :   :   :   :   :   :   :   | 
     AAAAAAAA-AAA   :   :   :   :   :   :   :   :   | 
     +   +   +   +   +   +   +   +   +   +   + 
    102000 +-+--+-----+----+----+-----+----+----+-----+----+-----+----+----+-----+----+----+-----+----+----+-----+--+-+ 
     11:49  11:49  11:49  11:49  11:49  11:49  11:50  11:50  11:50  11:50  11:50 
+0

感謝。 24時間の時間間隔を表示するにはスクリプトで何を変更し、最後の2分間を変更する必要はありませんか? – Sash

+0

@Sashその 'tail'コマンドは最後の90サンプルを取ります。その番号を変更します。 –

+0

ありがとう!いいね! – Sash

関連する問題