当前位置 博文首页 > duanbin的博客:用python绘制出主机内存折线图-直观的观察主机内
写的比较粗糙,可以作为一种思路参考;点开脚本能生成内存变化的折线图(python绘制更多图形请参考matplotlib):
[1] 先获取主机内存情况,用shell:
readMem.sh :
memFilename="memory.txt"
ubantu()
{
while true
do
mem=`df -a | grep "^/dev" | awk '{print $5}' | cut -d \% -f 1`
curDate=`date +%H%M%S`
echo $curDate >> $memFilename
echo $mem >> $memFilename
sleep 10
done
}
UK115()
{
while true
do
mem=`df -P | grep "/boss1" | awk '{print $5}' | cut -d \% -f 1`
curDate=`date +%H%M%S`
echo $curDate >> $memFilename
echo $mem >> $memFilename
sleep 3
done
}
HK19()
{
while true
do
mem=`df -P | grep "/ora2" | awk '{print $5}' | cut -d \% -f 1`
curDate=`date +%H%M%S`
echo $curDate >> $memFilename
echo $mem >> $memFilename
sleep 3
done
}
UK115
[2] 用python绘制折线图:
readA.py :
import numpy as np
import pylab as pl
import shutil
#shutil.copy('m.txt', 'tmp.txt')
file = open('m.txt', 'r')
x=[]
y=[]
count = 0
while 1:
line = file.readline()
if not line:
break
if (count % 2) == 0:
x.append(line.split())
else:
y.append(line.split())
count += 1
pl.plot(x, y)
#横轴标签:日期
pl.xlabel("date")
#纵轴标签:内存百分比
pl.ylabel("memory(%)")
#pl.savefig("mem.jpg")
pl.show()
cs