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