在Python终端下动态绘制显卡使用率和内存占用率的折线图,可以使用matplotlib
库来实现。为了获取显卡的使用率和内存占用率,可以使用GPUtil
库(适用于NVIDIA显卡)或psutil
库(适用于CPU和内存)。以下是一个示例代码,展示如何动态绘制显卡使用率和内存占用率的折线图。
首先,确保你已经安装了所需的库:
pip install matplotlib GPUtil psutil
import time
import matplotlib.pyplot as plt
import GPUtil
import psutil
# 初始化数据存储
gpu_usage = []
gpu_memory = []
timestamps = []
# 设置绘图
plt.ion() # 开启交互模式
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 8))
def update_plot():
ax1.clear()
ax2.clear()
# 绘制GPU使用率
ax1.plot(timestamps, gpu_usage, label='GPU Usage (%)', color='b')
ax1.set_ylabel('GPU Usage (%)')
ax1.set_title('GPU Usage Over Time')
ax1.legend()
# 绘制GPU内存占用率
ax2.plot(timestamps, gpu_memory, label='GPU Memory Usage (MB)', color='r')
ax2.set_xlabel('Time (s)')
ax2.set_ylabel('GPU Memory Usage (MB)')
ax2.set_title('GPU Memory Usage Over Time')
ax2.legend()
plt.tight_layout()
plt.draw()
plt.pause(0.01)
try:
start_time = time.time()
while True:
# 获取GPU信息
gpus = GPUtil.getGPUs()
if gpus:
gpu = gpus[0] # 假设只有一个GPU
gpu_usage.append(gpu.load * 100) # GPU使用率(百分比)
gpu_memory.append(gpu.memoryUsed) # GPU内存使用量(MB)
else:
gpu_usage.append(0)
gpu_memory.append(0)
# 记录时间戳
timestamps.append(time.time() - start_time)
# 更新图表
update_plot()
# 等待1秒
time.sleep(1)
except KeyboardInterrupt:
print("Plotting stopped.")
运行代码后,你将看到一个动态更新的折线图,显示GPU的使用率和内存占用率随时间的变化。
gpus[0]
来选择不同的GPU。GPUtil
可能无法正常工作。你可以使用其他工具或库来获取显卡信息。通过这种方式,你可以在Python终端下动态监控并绘制显卡的使用率和内存占用率。