监控GPU显卡,空闲自动抢占跑脚本
代码
监控脚本
MonitorGpu.py,该脚本会自动监控GPU内存和功耗情况,在满足条件情况下,可以自动运行脚本TestCuda.py
import os
import sys
import time
import platform
cmd = 'python TestCuda.py'
def gpu_info():
system = platform.system()
if system == "Windows":
gpu_status = os.popen('nvidia-smi | findstr %').read().split('|')
else: # if system == "Linux"
gpu_status = os.popen('nvidia-smi | grep %').read().split('|')
gpu_memory = int(gpu_status[2].split('/')[0].split('M')[0].strip())
gpu_power = int(gpu_status[1].split(' ')[-1].split('/')[0].split('W')[0].strip())
return gpu_power, gpu_memory
def narrow_setup(interval=2):
gpu_power, gpu_memory = gpu_info()
i = 0
while gpu_memory > 1000 or gpu_power > 20: # set waiting condition
gpu_power, gpu_memory = gpu_info()
i = i % 5
symbol = 'monitoring ' + '>' * i + ' ' * (10 - i - 1) + '|'
gpu_power_str = 'gpu power%d W |' % gpu_power
gpu_memory_str = 'gpu memory%d MiB |' % gpu_memory
sys.stdout.write('\r' + gpu_memory_str + ' ' + gpu_power_str + ' ' + symbol)
sys.stdout.flush()
time.sleep(interval)
i += 1
print('n' + cmd)
os.system(cmd)
if __name__ == '__main__':
narrow_setup()
TestCuda.py
print("You can use cuda now!")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY