Python测量CPU和内存使用率

 

在Python中,有多种库和方法可用于测量CPU和内存使用率。本回答将提供一种适用于各种操作系统的方法,包括Windows,macOS和Linux。我们将使用psutil库来实现这一目标。

首先,确保已安装psutil库。如果尚未安装,请运行以下命令进行安装:

pip install psutil

安装完成后,我们就可以使用psutil库来测量CPU和内存使用率了。以下是一个简单的示例代码:

import psutil
import time

def get_cpu_usage_percentage():
    return psutil.cpu_percent(interval=1)

def get_memory_usage_percentage():
    memory_stats = psutil.virtual_memory()
    return memory_stats.percent

while True:
    cpu_usage = get_cpu_usage_percentage()
    memory_usage = get_memory_usage_percentage()

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

    time.sleep(5)
​

这段代码首先引入了psutil库和time库。我们定义了两个函数,分别用于获取CPU和内存使用率。

get_cpu_usage_percentage()返回在过去1秒内的CPU使用率(百分比)。可以通过更改interval参数来调整时间间隔。

get_memory_usage_percentage()函数使用psutil.virtual_memory()方法获取内存统计信息,并返回内存使用率。

最后,在一个无限循环中,我们每5秒调用get_cpu_usage_percentage()和get_memory_usage_percentage()函数,打印出当前CPU和内存使用率。

这个示例提供了一个简单易懂的方法来监测CPU和内存使用率。对于初学者而言,这是一个很好的起点。

如果需要检测系统各个进程的资源占用情况,我们可以结合psutil库的Process类来实现。以下是一个简单的示例:

import psutil

def get_process_info():
    process_info_list = []

    for process in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_percent']):
        process_info_list.append({
            'pid': process.info['pid'],
            'name': process.info['name'],
            'cpu_percent': process.info['cpu_percent'],
            'memory_percent': process.info['memory_percent']
        })

    return process_info_list

process_info_list = get_process_info()

for process_info in process_info_list:
    print(f"进程ID: {process_info['pid']}, 进程名称: {process_info['name']}, "
          f"CPU使用率: {process_info['cpu_percent']}%, "
          f"内存使用率: {process_info['memory_percent']}%")

posted @ 2025-06-16 11:32  晃悠人生  阅读(85)  评论(0)    收藏  举报