python监测电脑cpu,内存,磁盘,网络并进行可视化的代码
时间: 2024-09-13 15:04:47 浏览: 41
要监测电脑的 CPU、内存、磁盘和网络使用情况,并且进行可视化,你可以使用 Python 的几个库来完成这项任务。其中 `psutil` 库可以帮助你获取系统资源的使用情况,而 `matplotlib` 或 `seaborn` 库则可以帮助你绘制图表进行可视化。
以下是使用这些库的示例代码:
```python
import psutil
import matplotlib.pyplot as plt
from time import sleep
def monitor_system(interval=1):
while True:
# 获取 CPU 使用率
cpu_usage = psutil.cpu_percent(interval=1)
# 获取内存使用情况
memory = psutil.virtual_memory()
memory_usage = memory.percent
# 获取磁盘使用情况
disk_usage = psutil.disk_usage('/')
disk_usage_percent = disk_usage.percent
# 获取网络使用情况
net_io = psutil.net_io_counters()
net_sent = net_io.bytes_sent
net_recv = net_io.bytes_recv
# 打印监测数据
print(f"CPU Usage: {cpu_usage}%")
print(f"Memory Usage: {memory_usage}%")
print(f"Disk Usage: {disk_usage_percent}%")
print(f"Bytes Sent: {net_sent}")
print(f"Bytes Received: {net_recv}")
# 创建图表
plt.figure(figsize=(10, 5))
plt.subplot(2, 2, 1)
plt.plot([cpu_usage], marker='o')
plt.title('CPU Usage')
plt.ylim(0, 100)
plt.subplot(2, 2, 2)
plt.bar(['Memory'], [memory_usage])
plt.ylim(0, 100)
plt.subplot(2, 2, 3)
plt.bar(['Disk'], [disk_usage_percent])
plt.ylim(0, 100)
plt.subplot(2, 2, 4)
plt.plot([net_sent, net_recv], marker='o')
plt.title('Network Usage')
plt.ylim(0, max(net_sent, net_recv))
plt.tight_layout()
plt.show()
sleep(interval)
if __name__ == '__main__':
monitor_system(interval=1)
```
在这段代码中,`monitor_system` 函数会定期打印出 CPU、内存、磁盘和网络的使用情况,并且使用 `matplotlib` 的子图功能绘制实时更新的图表。你可以通过调整 `interval` 参数来控制监测的频率。
请注意,在使用此代码前,你需要安装所需的 `psutil` 和 `matplotlib` 库:
```bash
pip install psutil matplotlib
```
此代码仅作为一个基础的示例。在实际应用中,你可能需要一个更复杂的系统来处理数据收集、存储、实时更新图表等问题。此外,根据你的可视化需求,你可能需要使用更高级的图表库如 `seaborn` 或 `plotly` 来生成更加丰富的图表。
阅读全文