【杂项】当服务器有空闲GPU时发送邮件提醒-python

每分钟检测服务器中是否有空闲(显存使用小于1GB)的显卡,如果有则发邮件提醒
需要开启邮箱IMAP/SMTP服务并生成授权码,password处填入授权码

import os
import time
import yagmail
from loguru import logger


def gpu_info():
    gpu_status = os.popen('nvidia-smi | grep %').read().split('|')
    gpu_memory1 = int(gpu_status[2].split('/')[0].split('M')[0].strip())
    gpu_memory2 = int(gpu_status[6].split('/')[0].split('M')[0].strip())
    gpu_memory3 = int(gpu_status[10].split('/')[0].split('M')[0].strip())
    # gpu_memory4 = int(gpu_status[14].split('/')[0].split('M')[0].strip))
    # 四卡
    return gpu_memory1, gpu_memory2, gpu_memory3


while 1:
    print('current time: ', time.asctime())
    tmp = gpu_info()
    for i in range(0, len(tmp)):
        print("gpu[%d] memory usage: %d\n" % (i, tmp[i]))
    if min(tmp) < 1000:
        index = tmp.index(min(tmp))
        yagmail_server = yagmail.SMTP(user="********@qq.com", password="********", host="smtp.qq.com")
        # 密码填入生成的授权码
        email_name = ["********@qq.com"]
        email_title = ["Congratulations !"]
        email_content = ["got gpu %d available !" % index]
        yagmail_server.send(to=email_name, subject=email_title, contents=email_content)
        yagmail_server.close()
        logger.info("邮件发送完毕!")
        break
    time.sleep(60)



参考:
[1]GPU排队脚本——一旦空闲就触发python脚本
[2]python使用yagmail发送邮件

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值