说明:该程序能够实时监控服务器的显卡运行情况,当达到设定的条件时,会发送邮件进行通知。建议打开微信邮件助手功能,可以实时收到通知信息。
改代码需要发送邮件部分,按要求写入自己的信息即可。

import pynvml
import time
import sys
import smtplib
from email.mime.text import MIMEText
from email.header import Header
pynvml.nvmlInit()def send_msg(target_add, msg):# 发信方的信息:发信邮箱,QQ邮箱授权码from_addr = ''password = ''# 收信方邮箱# 发信服务器smtp_server = 'smtp.163.com'# server = smtplib.SMTP_SSL()server=smtplib.SMTP_SSL('smtp.163.com')server.connect(smtp_server,465)server.login(from_addr, password)# 发送邮件message = MIMEText(msg, 'plain', 'utf-8')server.sendmail(from_addr, target_add, message.as_string())# 关闭服务器server.quit()def watch_nvidia_new(nvidia_ids):flag = [1 for i in nvidia_ids]free_space_list = [0, 0]for i in nvidia_ids:handle = pynvml.nvmlDeviceGetHandleByIndex(i)meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)free_space = meminfo.free * 1.0 /(1024**3)free_space_list[i] = free_spaceprint("Card {} free memory is {:2f}GB".format(i,free_space))return free_space_listnvidia_ids = [0,1] # 显卡idmin_memory = 5while True:free_space_list = watch_nvidia_new(nvidia_ids)for i in free_space_list:if i > min_memory:send_msg("目标邮箱","系统检测到有一张显卡空闲{:.2f}GB, 未设置自动启动指令,\n".format(i)+ "请上线查看原因并重新启动!"+"为防止邮件打扰,本检测程序即将自动停止!")print("Send email success!")sys.exit(0)else:print("The graphics card is working normally. The program will retest after 60 seconds!")       time.sleep(60)

Python监控服务器显卡使用情况程序相关推荐

  1. 使用python脚本监控服务器显卡使用情况

    前言 共用服务器,有时候自己需要显卡被别人占用了-本脚本可以监控显卡显存情况,如果发现空闲会发送email到邮箱进行提醒. 代码 import pynvml pynvml.nvmlInit() imp ...

  2. Python 和 C/C++ 拓展程序的性能优化

    背景 在 MegEngine imperative runtime 的早期开发中,我们面临着一些的性能优化问题.除了一些已知需要重构的地方(早期设计时为了开发效率而牺牲性能的妥协),还存在一些未知的性 ...

  3. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...

  4. mapreduce编程实例python-使用Python语言写Hadoop MapReduce程序

    原标题:使用Python语言写Hadoop MapReduce程序 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在本教程中,我将描述如何使用Pytho ...

  5. Python脚本导出为exe程序

    环境:Pycharm2019.1 + Win10 + Python3.7.3 一.pyinstaller简介 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者 ...

  6. python国际象棋ai程序_用Python编写一个国际象棋AI程序

    最近我用Python做了一个国际象棋程序并把代码发布在Github上了.这个代码不到1000行,大概20%用来实现AI.在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来. ...

  7. python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记

    python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记 此篇为上一篇pyqt5图像压缩小工具改良版.因为比较简单,下面直接贴上代码. 效果图: # -*- coding: u ...

  8. python嵌入c代码_怎样把Python代码嵌入到C程序

    匿名用户 1级 2017-11-03 回答 这篇文章主要介绍了将Python代码嵌入C++程序进行编写的实例,尽管通常还是Python代码中调用C++程序的情况较多...需要的朋友可以参考下 把pyt ...

  9. 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试

    原文地址:http://www.cnblogs.com/joyeecheung/p/3757915.html 相关随笔:  点击打开链接 Hadoop-1.0.4集群搭建笔记 用python + ha ...

最新文章

  1. 微型计算机组成部分db,微机原理复习(2)
  2. 安装quagga 软路由
  3. 解决vue在ios或android中用webview打开H5链接时#号后面的参数被忽略问题angular同样适用
  4. C++系列总结——构造与析构
  5. Python 技术篇-使用time库获取秒级时间戳、毫秒级时间戳实例演示
  6. android中ScrollView嵌套ListView或GridView显示位置问题
  7. submit+php语法报错,PHP语法基础部分
  8. cypress离线安装_【拆一个高端货】 美国NI公司 GPIB-USB转接卡 长标题
  9. 区块链 Fisco bcos 智能合约(12)-Solidity的高级特性
  10. 优秀的软件测试简历是什么样的?
  11. 如何通过Filter过滤敏感词汇
  12. 自考启示,关于不紧急重要到紧急重要的改变
  13. html取消父元素样式,CSS以防止子元素继承父样式
  14. 一次代码评审,差点过不了试用期!
  15. G120变频器准备就绪和运行指示信号解析
  16. 接口测试Jmeter
  17. 【JC-2 DC220V冲击继电器】
  18. 跳转到指定的邮箱登录页面
  19. 12、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?
  20. mysql 配置定时任务_Mysql定时任务

热门文章

  1. 旅行商问题与蚁群算法
  2. latex显示错误:Text line contains an invalid character. l.1
  3. 编写应用程序,计算两个非零正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入。
  4. 2021-02-11-JavaWeb网站接入支付宝支付
  5. cyusb3014数据传输出错和蓝屏的问题
  6. 加快深度学习模型训练速度@tf.function
  7. freemarker英文日期显示成中文问题
  8. debug命令(debug命令的使用)
  9. 计算日期差的方法c语言,C语言计算日期差的方法示例
  10. OpenGLES2.0渲图步骤:绘几何图形、图片处理、离屏渲染(3)