用Python编写一段代码:利用定时器等库,自动定时获取CPU的负载、温度、内存占用等信息,定时间隔2秒,采集1000个样本数据,分别写入CSV、Excel文件中。再调用pandas、matplotlib等库,对以上数据进行分析、绘制时间图。
时间: 2024-05-09 09:21:24 浏览: 66
测算CPU时间和内存消耗的程序
好的,这是一个很不错的编程问题。以下是可以用来实现该功能的Python代码:
```python
import psutil
import time
import csv
import pandas as pd
import matplotlib.pyplot as plt
# 设置采集间隔和采集次数
interval = 2
samples = 1000
# 创建CSV文件并写入表头
csv_file = open('data.csv', 'w', newline='')
csv_writer = csv.writer(csv_file)
csv_writer.writerow(['timestamp', 'cpu_load', 'cpu_temp', 'mem_usage'])
# 采集数据并写入CSV文件
for i in range(samples):
timestamp = time.time()
cpu_load = psutil.cpu_percent()
cpu_temp = psutil.sensors_temperatures()['coretemp'][0].current
mem_usage = psutil.virtual_memory().percent
csv_writer.writerow([timestamp, cpu_load, cpu_temp, mem_usage])
time.sleep(interval)
# 关闭CSV文件
csv_file.close()
# 读取CSV文件并绘制时间图
df = pd.read_csv('data.csv')
df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
df.set_index('datetime', inplace=True)
df.plot()
plt.show()
```
该代码使用了Python中的psutil库来获取CPU的负载、温度和内存占用等信息,使用了time库来实现定时器功能,使用了csv库来写入CSV文件,使用了pandas和matplotlib库来分析和绘制时间图。
阅读全文