在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']}%")
在这段代码中,我们定义了一个名为get_process_info()的函数,该函数返回一个包含当前进程及其资源占用情况的列表。我们遍历这个列表并打印出每个进程的相关信息。
这些示例帮助您了解如何在Python中测量CPU和内存使用率。根据需要,可以进一步完善这些示例,例如可视化结果或限制程序在特定范围内的资源占用。