当前位置 博文首页 > duanbin的博客:用python绘制出主机内存折线图-直观的观察主机内

    duanbin的博客:用python绘制出主机内存折线图-直观的观察主机内

    作者:[db:作者] 时间:2021-08-12 18:04


    写的比较粗糙,可以作为一种思路参考;点开脚本能生成内存变化的折线图(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