Eine Möglichkeit ist, Skript, sich mit gnuplot
es und 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
Ausgänge ein Live-Chart im Terminal:
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
Dank. Was sollte ich im Skript ändern, um das Zeitintervall von 24 Stunden und nicht von 2 Minuten zu sehen? – Sash
@Sash Dieser "Tail" -Befehl nimmt die letzten 90 Samples. Ändern Sie diese Nummer. –
Danke! Sieht gut aus! – Sash