【python】实现cpu/内存监控的功能(非常简单)

简介: 【python】实现cpu/内存监控的功能(非常简单)

最近,在做项目的时候,需要监控cpu以及内存的使用情况,做了一个比较简单的脚本,非常适合刚入门python的新手同学。

(关注“测试开发自动化” 弓中皓,获取更多学习内容)

一、代码说明:

1.代码用到了psutil第三方库(需要提前导入);

2.代码主要分为监控功能和写入日志两部分,运行代码后,在路径下可以生成一个.log文件,记录监控信息;

3.使用时只需要将代码中 if pid.pid == 31928 后面的数字修改为要监控的pid即可。

:这个pid我们可以通过任务管理器来进行查看:

二、python代码如下所示:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import psutil


class MonitorCPUMemory():

    def __init__(self):
        pass

    def write(self, text1, text2, text3):
        """写入log中"""
        timer = time.strftime("%Y-%m-%d %H:%M:%S")
        with open('text.log', 'a+', encoding='utf-8') as tf:
            text = timer + "  内存占用率= {}% ,软件cpu使用率为 {}%,系统cpu使用率为 {}%\n".format(text1, text2, text3)
            tf.write(text)

    def CM_monitor(self):
        """CPU+内存监控"""
        for i in psutil.pids():
            pid = psutil.Process(i)
            if pid.pid == 31928:  # 这里修改索要监控的pid
                while True:
                    a = pid.memory_percent()  # 内存占用%
                    b = pid.cpu_percent()
                    c = psutil.cpu_percent()
                    time.sleep(1)
                    self.write(a, b, c)


if __name__ == '__main__':
    a = MonitorCPUMemory()
    a.CM_monitor()

text.log文件中监控信息

2022-04-15 17:20:01  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 14.0%
2022-04-15 17:20:02  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.5%
2022-04-15 17:20:03  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.5%
2022-04-15 17:20:04  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.9%
2022-04-15 17:20:05  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.8%
2022-04-15 17:20:06  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.3%
2022-04-15 17:20:07  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 1.0%
2022-04-15 17:20:08  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.9%
2022-04-15 17:20:09  内存占用率= 11.355243691095298% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.8%
2022-04-15 17:20:10  内存占用率= 11.355243691095298% ,软件cpu使用率为 17.2%,系统cpu使用率为 1.9%
2022-04-15 17:20:11  内存占用率= 11.355243691095298% ,软件cpu使用率为 26.2%,系统cpu使用率为 3.9%
2022-04-15 17:20:12  内存占用率= 11.355267837933186% ,软件cpu使用率为 40.6%,系统cpu使用率为 5.6%
2022-04-15 17:20:13  内存占用率= 11.355364425284733% ,软件cpu使用率为 7.7%,系统cpu使用率为 1.5%
2022-04-15 17:20:19  内存占用率= 11.3572961723157% ,软件cpu使用率为 0.0%,系统cpu使用率为 8.8%
2022-04-15 17:20:20  内存占用率= 11.35719958496415% ,软件cpu使用率为 12.3%,系统cpu使用率为 2.9%
2022-04-15 17:20:21  内存占用率= 11.358406926858503% ,软件cpu使用率为 9.4%,系统cpu使用率为 2.6%
2022-04-15 17:20:22  内存占用率= 11.358672542075261% ,软件cpu使用率为 20.3%,系统cpu使用率为 5.7%
2022-04-15 17:20:23  内存占用率= 11.35802057745231% ,软件cpu使用率为 4.6%,系统cpu使用率为 3.2%
2022-04-15 17:20:24  内存占用率= 11.357706668559779% ,软件cpu使用率为 0.0%,系统cpu使用率为 1.3%
2022-04-15 17:20:25  内存占用率= 11.357706668559779% ,软件cpu使用率为 0.0%,系统cpu使用率为 0.7%
2022-04-15 17:20:26  内存占用率= 11.357730815397666% ,软件cpu使用率为 0.0%,系统cpu使用率为 1.0%
2022-04-15 17:20:27  内存占用率= 11.357392759667247% ,软件cpu使用率为 0.0%,系统cpu使用率为 1.9%

(关注“测试开发自动化” 弓中皓,获取更多学习内容)

如果解决了您的问题,那就点个赞+收藏吧!!!

相关文章
|
5月前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
197 5
|
6月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
342 101
|
6月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
281 99
|
6月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
377 98
|
6月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
8月前
|
存储 运维 监控
基于跳表数据结构的局域网上网记录监控时序查询优化算法研究与 Python 实现
本文探讨跳表(Skip List)在局域网上网记录监控中的应用,分析其在快速范围查询、去重与异常检测中的优势,并提供 Python 实现示例,为高效处理海量时序数据提供参考。
176 0
|
10月前
|
SQL 安全 算法
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
Python 3.14 引入了七大核心技术特性,大幅提升开发效率与应用安全性。其中包括:t-strings(PEP 750)提供更安全灵活的字符串处理;类型注解惰性求值(PEP 649)优化启动性能;外部调试器API标准化(PEP 768)增强调试体验;原生支持Zstandard压缩算法(PEP 784)提高效率;REPL交互环境升级更友好;UUID模块扩展支持新标准并优化性能;finally块语义强化(PEP 765)确保资源清理可靠性。这些改进使Python在后端开发、数据科学等领域更具竞争力。
501 5
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
|
8月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
存储 智能硬件
CPU的定义与功能与架构
CPU(中央处理器)是计算机的核心部件,负责执行程序指令、控制数据传输和进行运算。它能处理算术与逻辑运算,并协调其他硬件协同工作。x86架构源于英特尔,适用于PC和服务器,采用复杂指令集;ARM架构则由Acorn等公司开发,广泛用于移动设备和嵌入式系统,采用精简指令集,功耗低且能效比高。
1613 5

推荐镜像

更多