python实现监控指定进程的cpu和内存使用率

 更新时间:2022年01月06日 08:32:26   作者:踏莎行hyx  
这篇文章主要为大家详细介绍了python实现监控指定进程的cpu和内存使用率,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

为了测试某个服务的稳定性,通常需要在服务长时间运行的情况下,监控其资源消耗情况,比如cpu和内存使用

这里借助python的psutil这个包可以很方便的监控指定进程号(PID)的cpu和内存使用情况

代码

process_monitor.py

import sys
import time
import psutil

# get pid from args
if len(sys.argv) < 2:
    print ("missing pid arg")
    sys.exit()

# get process
pid = int(sys.argv[1])
p = psutil.Process(pid)

# monitor process and write data to file
interval = 3 # polling seconds
with open("process_monitor_" + p.name() + '_' + str(pid) + ".csv", "a+") as f:
    f.write("time,cpu%,mem%\n") # titles
    while True:
        current_time = time.strftime('%Y%m%d-%H%M%S',time.localtime(time.time()))
        cpu_percent = p.cpu_percent() # better set interval second to calculate like:  p.cpu_percent(interval=0.5)
        mem_percent = p.memory_percent()
        line = current_time + ',' + str(cpu_percent) + ',' + str(mem_percent)
        print (line)
        f.write(line + "\n")
        time.sleep(interval)
  • 支持跨平台linux,windows,mac
  • 根据pid号获取进程实例,固定时间间隔查询其cpu和内存的使用百分比
  • 将监控数据写入文件,一边后续分析
  • 必要的话,也可以额外统计整个机器的资源状况

实例

使用命令

python process_monitor.py 25272

文件保存结果

绘制出曲线图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python爬虫实现自动登录、签到功能的代码

    Python爬虫实现自动登录、签到功能的代码

    这篇文章主要介绍了Python爬虫实现自动登录、签到功能的代码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 如何利用Python快速绘制海报级别地图详解

    如何利用Python快速绘制海报级别地图详解

    Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,最常见的便是绘制地图,这篇文章主要给大家介绍了关于如何利用Python快速绘制海报级别地图的相关资料,需要的朋友可以参考下
    2021-09-09
  • python入门教程之识别验证码

    python入门教程之识别验证码

    这篇文章主要介绍了python中识别验证码的相关资料,这属于学习python的基本入门教程,文中介绍的非常详细,文末也给出了完整的示例代码,需要的朋友们可以参考学习,下面来一起看看吧。
    2017-03-03
  • python使用ProjectQ生成量子算法指令集

    python使用ProjectQ生成量子算法指令集

    在量子计算机领域,由于实现方案的不同,在不同的体系内的指令集其实是不一样的,并不是说OpenQASM里面的所有指令都会被支持。但是这也没有关系,因为本文将要介绍的开源量子计算模拟器框架ProjectQ可以支持将输入的量子算法分解到对应的指令集中。
    2021-05-05
  • python实现快速文件格式批量转换的方法

    python实现快速文件格式批量转换的方法

    这篇文章主要介绍了python实现快速文件格式批量转换的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Python格式化字符串的案例方法

    Python格式化字符串的案例方法

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查,干脆就在这里整理一下,下面这篇文章主要给大家介绍了关于python字符串格式化的相关资料,分别是%格式符和format方式,需要的朋友可以参考下
    2022-03-03
  • python导出mysql指定binlog文件实现demo

    python导出mysql指定binlog文件实现demo

    这篇文章主要介绍了python导出mysql指定binlog文件实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Python实现敏感词过滤的4种方法

    Python实现敏感词过滤的4种方法

    这篇文章主要介绍了Python实现敏感词过滤的4种方法,帮助大家处理不和谐的言论,感兴趣的朋友可以了解下
    2020-09-09
  • 基于Python实现数据库表结构导出工具

    基于Python实现数据库表结构导出工具

    这篇文章主要为大家详细介绍了如何基于Python实现将数据库表结构导出到 Word 文档的实用工具,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • 浅谈Python任务自动化工具Tox基本用法

    浅谈Python任务自动化工具Tox基本用法

    这篇文章主要介绍了浅谈Python任务自动化工具Tox,tox 是一个管理测试虚拟环境的命令行工具, 它已存在多年且广被开发者们使用,对Python任务自动化工具Tox基本用法感兴趣的朋友一起看看吧
    2022-06-06

最新评论