Python绘制CPU曲线图

使用Python绘图工具库,处理和分析系统资源使用情况(本文以CPU使用率为例),且作记录。

1. 工具安装

安装python(此处用的是2.7)及相应的库:matplotlib(windows下需装dateutil、pyparsing、scipy)、numpy;

2. 获取数据

获取进程CPU使用率:

top -d 1 | grep 'test' | grep -v 'grep' >> /tmp/tmp_cpu.log

awk '{print $9}' /tmp/tmp_cpu.log >> /tmp/log/test_cpu.log

3. python绘图

python draw.py test /tmp/log

# -*- coding:utf-8 -*-

import matplotlib.pyplot as pl
import numpy as np
import os
import string
import sys

def set_plot_attr(plt, title, xlabel, ylabel):
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.grid()
    plt.legend()
    pl.subplots_adjust(wspace=0.5, hspace=0.5)
    
def draw_cpu(pro, rootdir):
    pro = sys.argv[1]
    rootdir = sys.argv[2]
    mean_data = []
    files = os.listdir(rootdir)
    for file in files:
        data = []
        f = open(rootdir + '/' + file, 'r')
        for line in f.readlines():
            data.append(string.atof(line.strip()))
        f.close()
        pl.subplot(211)
        pl.plot(data, label=file)
        mean_data.append(np.mean(data))
  
    set_plot_attr(pl, pro + ' CPU Usage', 'Time (s)', 'CPU Usage (%)')
    pl.subplot(212)
    pl.plot(mean_data)
    set_plot_attr(pl, pro + ' Mean CPU Usage', 'Time (s)', 'CPU Usage (%)')
    pl.show()

def usage():
    print 'Usage: draw.py pro rootdir'
    print '       pro: progress name'
    print '       rootdir: log file directory'
    
if __name__ == '__main__':
    try:
        draw_cpu(sys.argv[1], sys.argv[2])
    except:
        usage()

测试三组数据,结果如下:









  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要监视Ray的各个任务的进度以及CPU的占用率并绘制曲线图,需要使用Python中的一些库和工具。 首先,你可以使用Ray的Dashboard来监视Ray的任务。Ray Dashboard是一个Web界面,可以显示Ray集群中的任务、资源使用情况等信息。你可以在启动Ray时打开Dashboard,如下所示: ```python import ray ray.init(dashboard_host='0.0.0.0') ``` 这将启动一个Ray Dashboard,你可以通过在浏览器中输入`http://localhost:8265`来访问。 其次,你可以使用psutil库来监视CPU的占用率。psutil是一个跨平台的库,可以用来获取系统信息,包括CPU、内存、磁盘、网络等信息。 下面是一个使用psutil来获取CPU占用率的示例: ```python import psutil import time while True: cpu_percent = psutil.cpu_percent() print(f"CPU usage: {cpu_percent}%") time.sleep(1) ``` 最后,你可以使用matplotlib库来绘制曲线图。matplotlib是一个Python的绘图库,可以用来绘制各种类型的图表,包括折线图、散点图、柱状图等。 下面是一个使用matplotlib来绘制曲线图的示例: ```python import psutil import matplotlib.pyplot as plt cpu_percent_list = [] while True: cpu_percent = psutil.cpu_percent() cpu_percent_list.append(cpu_percent) plt.plot(cpu_percent_list) plt.pause(1) ``` 这将绘制一个实时更新的CPU占用率曲线图。 综上所述,你可以结合以上三个工具来监视Ray的任务进度和CPU占用率,并绘制曲线图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值