1. 程式人生 > >用python繪製出主機內存摺線圖-直觀的觀察主機記憶體情況

用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()