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

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

一、代码说明:

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%

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

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


相关文章
|
1月前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
37 6
|
16天前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
50 20
|
4天前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
1月前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
41 11
|
1月前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
1月前
|
缓存 监控 算法
Python内存管理:掌握对象的生命周期与垃圾回收机制####
本文深入探讨了Python中的内存管理机制,特别是对象的生命周期和垃圾回收过程。通过理解引用计数、标记-清除及分代收集等核心概念,帮助开发者优化程序性能,避免内存泄漏。 ####
47 3
|
2月前
|
设计模式 监控 程序员
Python中的装饰器:功能增强与代码复用的利器####
本文深入探讨了Python中装饰器的工作原理、应用场景及其在提升代码可读性、减少重复劳动方面的优势。不同于传统方法的冗长和复杂,装饰器提供了一种优雅且高效的方式来增强函数或方法的功能。通过具体实例,我们将揭示装饰器如何简化错误处理、日志记录及性能监控等常见任务,使开发者能够专注于核心业务逻辑的实现。 ####
|
2月前
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
56 5
|
2月前
|
算法 Java 程序员
Python内存管理机制深度剖析####
本文将深入浅出地探讨Python中的内存管理机制,特别是其核心组件——垃圾收集器(Garbage Collector, GC)的工作原理。不同于传统的摘要概述,我们将通过一个虚拟的故事线,跟随“内存块”小M的一生,从诞生、使用到最终被回收的过程,来揭示Python是如何处理对象生命周期,确保高效利用系统资源的。 ####
32 1
|
2月前
|
Python
探索Python中的装饰器:简化代码,增强功能
本文将引导你了解Python装饰器的奇妙世界。我们将从基础概念入手,逐步深入到装饰器的应用实例,展示如何通过这一强大工具简化代码并增加新功能。文章不仅介绍理论知识,还将提供实用的代码示例,帮助你在实际项目中运用装饰器提升开发效率。