在Mac或Linux上进行内存监控

时间:2016-12-01 10:59:38

标签: linux macos memory memory-profiling

是否有任何工具可以监控应用程序内存并将其视为图形?

例如,在Windows中有一个perfmon。我可以轻松配置我想要监控的流程和分辨率,并随着时间的推移查看图表。

在Mac或Linux中有类似的东西吗?

感谢。

1 个答案:

答案 0 :(得分: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