2016-12-01 47 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