Mac或Linux上的内存监视
问题描述:
是否有任何工具可随时监视应用程序内存并将其视为图形?Mac或Linux上的内存监视
例如,在Windows中有一个perfmon。我可以轻松配置我想要监视的进程和分辨率,并随时查看图形。
Mac或Linux中是否有类似的东西?
谢谢。
答
一种方法是自己编写脚本与gnuplot
和bash
:
$ 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
感谢。我应该在脚本中更改24小时的时间间隔而不是最后2分钟? – Sash
@Sash这个'tail'命令最后取90个样本。改变这个数字。 –
谢谢!看起来不错! – Sash