blob: 689134c470bac39db09b850a1103d130ae6c1eb5 [file] [log] [blame]
#!/bin/bash
plot() {
suffix=$1
gnuplot <<EOF
set xlabel "time (s)"
set size 1
set terminal pngcairo size ${width:-1280}, 800
set terminal pngcairo size ${width:-1000}, 600
set terminal pngcairo size ${width:-1280}, ${height:-800}
set output "vmstat-written$suffix.png"
set ylabel "size (MB)"
set grid
plot "vmstat$suffix" using 1:(\$3*4/1024) with points pt 5 title "dirtied", \
"vmstat$suffix" using 1:(\$4*4/1024) with points pt 7 title "written"
set output "vmstat-dirty$suffix.png"
set ylabel "size (MB)"
unset grid
plot "vmstat$suffix" using 1:(\$5*4/1024) with points pt 5 title "dirty", \
"vmstat$suffix" using 1:(\$6*4/1024) with points pt 6 title "writeback", \
"vmstat$suffix" using 1:(\$7*4/1024) with points pt 7 title "unstable", \
"vmstat$suffix" using 1:(\$8*4/1024) with points pt 4 title "dirty thresh", \
"vmstat$suffix" using 1:(\$9*4/1024) with points pt 3 title "background thresh"
set output "vmstat-reclaimable$suffix.png"
set ylabel "size (MB)"
set grid
plot "vmstat$suffix" using 1:(\$11*4/1024) with points pt 6 lc rgbcolor "green" title "free", \
"vmstat$suffix" using 1:(\$12*4/1024) with points pt 5 lc rgbcolor "red" title "anon", \
"vmstat$suffix" using 1:(\$13*4/1024) with points pt 7 lc rgbcolor "blue" title "file", \
"vmstat$suffix" using 1:(\$14*4/1024) with points pt 4 lc rgbcolor "magenta" title "slab"
# set output "vmstat-unstable$suffix.png"
# set ylabel "size (MB)"
# plot "vmstat$suffix" using 1:(\$6*4/1024) with points pt 6 title "writeback", \
# "vmstat$suffix" using 1:(\$7*4/1024) with points pt 7 title "unstable"
EOF
}
plot
lines=$(wc -l vmstat | cut -f1 -d' ')
if [[ $lines -ge 300 ]]; then
tail -n 100 vmstat > vmstat-100
plot -100
fi