import pynvml
import time
import os,signal
pynvml.nvmlInit()
handle = pynvml.nvmlDeviceGetHandleByIndex(0)
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
while True:
_used=meminfo.used
_total=meminfo.total
if _used>_total*0.98:
l=pynvml.nvmlDeviceGetComputeRunningProcesses(handle)
_len=len(l)
if _len>0:
for i in l:
_pid=i.pid
os.kill(_pid, signal.SIGKILL)
#start
os.system('nohup python main.py')
else:time.sleep(1)
此处是针对显存大于容量的98%j就自动重启程序