电脑监控软件所含的CPU资源监控的代码(使用psutil库)

简介: 本文使用psutil库来获取CPU使用率、运行的进程、CPU温度、风扇速度和CPU核心的工作情况。这些信息可用于自定义电脑监控软件的CPU资源监控功能

电脑监控软件的CPU资源监控功能非常重要,它可以帮助用户实时了解计算机的CPU使用情况,从而更好地管理和优化系统性能。这些监控通常以图形或数字形式呈现,提供以下重要信息:

  • CPU使用率:显示当前CPU的利用率,可以帮助用户了解CPU是否过载或空闲。
  • 进程监控:展示正在运行的进程和它们所占用的CPU资源,有助于识别哪些应用程序占用了过多的CPU。
  • 温度和风扇速度:监测CPU的温度和风扇速度,以确保不会因过热而损坏硬件。
  • 调度情况:显示CPU核心的工作分配,有助于了解多核CPU如何分配任务。

以下是一些示例代码,展示了电脑监控软件使用Python的psutil库来获取CPU资源监控信息:

import psutil

# 获取CPU使用率

cpu_usage = psutil.cpu_percent(interval=1)

# 获取运行的进程

processes = psutil.process_iter(attrs=['pid', 'name', 'cpu_percent'])

for process in processes:

   print(process.info)

# 获取CPU温度

sensors = psutil.sensors_temperatures()

if 'coretemp' in sensors:

   core_temp = sensors['coretemp']

   for entry in core_temp:

       print(f"{entry.label}: {entry.current}°C")

# 获取风扇速度

fans = psutil.sensors_fans()

if 'fan1' in fans:

   fan_speed = fans['fan1']

   for entry in fan_speed:

       print(f"{entry.label}: {entry.current} RPM")

# 获取CPU核心的工作情况

cpu_count = psutil.cpu_count(logical=False)  # 获取物理核心数量

for i in range(cpu_count):

   core_usage = psutil.cpu_percent(interval=1, percpu=True)

   print(f"Core {i + 1} 使用率: {core_usage[i]}%")

这段代码使用psutil库来获取CPU使用率、运行的进程、CPU温度、风扇速度和CPU核心的工作情况。这些信息可用于自定义电脑监控软件的CPU资源监控功能。当需要在电脑监控软件中添加多点代码以监控不同方面的CPU资源,可以使用以下示例代码:

import psutil

import time

def get_cpu_usage():

   # 获取CPU使用率

   return psutil.cpu_percent(interval=1)

def get_running_processes():

   # 获取运行的进程和它们的CPU占用率

   processes = psutil.process_iter(attrs=['pid', 'name', 'cpu_percent'])

   process_info = []

   for process in processes:

       process_info.append(process.info)

   return process_info

def get_cpu_temperature():

   # 获取CPU温度

   sensors = psutil.sensors_temperatures()

   if 'coretemp' in sensors:

       core_temp = sensors['coretemp']

       return core_temp

def get_fan_speed():

   # 获取风扇速度

   fans = psutil.sensors_fans()

   if 'fan1' in fans:

       fan_speed = fans['fan1']

       return fan_speed

def get_core_usage():

   # 获取每个CPU核心的使用率

   cpu_count = psutil.cpu_count(logical=False)

   core_usage = psutil.cpu_percent(interval=1, percpu=True)

   return core_usage

# 在主循环中获取和显示监控信息

while True:

   cpu_usage = get_cpu_usage()

   running_processes = get_running_processes()

   cpu_temperature = get_cpu_temperature()

   fan_speed = get_fan_speed()

   core_usage = get_core_usage()

   # 打印或显示信息

   print(f"CPU使用率: {cpu_usage}%")

   print("运行的进程:")

   for process in running_processes:

       print(process)

 

   if cpu_temperature:

       print("CPU温度:")

       for entry in cpu_temperature:

           print(f"{entry.label}: {entry.current}°C")

 

   if fan_speed:

       print("风扇速度:")

       for entry in fan_speed:

           print(f"{entry.label}: {entry.current} RPM")

   for i, usage in enumerate(core_usage):

       print(f"Core {i + 1} 使用率: {usage}%")

   time.sleep(5)  # 每隔5秒更新一次监控信息

这个示例代码定义了一系列函数,每个函数负责获取不同方面的CPU资源监控信息,然后在主循环中调用这些函数以获取和显示信息。循环每5秒更新一次监控信息。

相关文章
|
2月前
|
监控 异构计算
Jetson 学习笔记(八):htop查看CPU占用情况和jtop监控CPU和GPU
在NVIDIA Jetson平台上使用htop和jtop工具来监控CPU、GPU和内存的使用情况,并提供了安装和使用这些工具的具体命令。
177 0
|
2月前
|
存储 安全 算法
CPU资源
【10月更文挑战第2天】CPU资源
84 5
|
3月前
|
调度
CPU调度器实现提示:针对特定体系结构代码【ChatGPT】
CPU调度器实现提示:针对特定体系结构代码【ChatGPT】
|
4月前
|
缓存 Kubernetes 数据中心
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
在Docker中,如何控制容器占用系统资源(CPU,内存)的份额?
|
4月前
|
设计模式 uml
在电脑主机(MainFrame)中只需要按下主机的开机按钮(on()),即可调用其它硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(Hard
该博客文章通过一个电脑主机启动的示例代码,展示了外观模式(Facade Pattern)的设计模式,其中主机(MainFrame)类通过调用内部硬件组件(如内存、CPU、硬盘)和操作系统的启动方法来实现开机流程,同时讨论了外观模式的优缺点。
|
5月前
|
运维 DataWorks 安全
DataWorks产品使用合集之如何查看空间资源、CPU、内存和存储空间容量
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
NoSQL MongoDB 索引
MongoDB 占用CPU资源过高
MongoDB 占用CPU资源过高
52 0
|
5月前
|
监控 Python
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
|
6月前
|
存储 缓存
电脑组装和维修02----认识cpu
电脑组装和维修02----认识cpu
|
5月前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之如何查看空间资源、CPU和内存以及存储空间容量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
106 0
下一篇
DataWorks