编写一个读取 /proc/stat 文件中 每个cpu使用率的问题
时间: 2024-09-10 11:14:07 浏览: 44
cpu_linux.rar_cpu_linux.cpp_linux 读取文件_proc cpu
在Linux系统中,`/proc/stat`文件是一个内核统计信息的接口,用于收集CPU的各种使用情况,包括用户空间、内核时间、空闲时间等。要编写一个程序来读取每个CPU的使用率,你可以使用Python或其他支持文件操作的语言。下面是一个简单的Python示例:
```python
import time
import os
def read_cpu_usage():
with open('/proc/stat', 'r') as f:
lines = f.readlines()
cpu_usage = []
for line in lines[2:]:
fields = line.split()
cpu_id = int(fields[0]) - 2 # 假设第一个字段代表CPU ID,减去2是因为前两行是头部信息
user_time = float(fields[1])
nice_time = float(fields[2])
system_time = float(fields[3])
idle_time = float(fields[4])
# 计算CPU利用率(%)
cpu_usage.append({
"id": cpu_id,
"user": (user_time + nice_time) / (user_time + nice_time + system_time + idle_time),
"system": system_time / (user_time + nice_time + system_time + idle_time)
})
return cpu_usage
# 示例运行
cpu_data = read_cpu_usage()
for entry in cpu_data:
print(f"CPU {entry['id']} User: {entry['user'] * 100:.2f}%, System: {entry['system'] * 100:.2f}%")
阅读全文