使用python脚本监控服务器显卡使用情况
前言
共用服务器,有时候自己需要显卡被别人占用了…本脚本可以监控显卡显存情况,如果发现空闲会发送email到邮箱进行提醒。
代码
import pynvml
pynvml.nvmlInit()
import time
import os
#from send_email import send_msgimport smtplib
from email.mime.text import MIMEText
from email.header import Headerdef send_msg(target_email,msg):sender = 'from@runoob.com'receivers = [target_email] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱# 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码message = MIMEText(msg, 'plain', 'utf-8')subject = 'nvidia显卡监控'message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP('localhost')smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")except smtplib.SMTPException:print("Error: 无法发送邮件")def watch_nvidia(nvidia_ids,min_memory):flag = [1 for i in nvidia_ids]for i in nvidia_ids:handle = pynvml.nvmlDeviceGetHandleByIndex(i)meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)print("card {} free memory is {}GB".format(i,meminfo.free * 1.0 /(1024**3)))if meminfo.free * 1.0 /(1024**3) > min_memory:flag[i-1]=0else:flag[i-1]=1if 0 in flag:free_num = 0for i in flag:if i == 0:free_num += 1return free_numelse:print("no free card!")return -1nvidia_ids = [0,1,2,3] # 显卡id
min_memory = 8 # 最小可用显存 GB
while True:flag = watch_nvidia(nvidia_ids,min_memory)if flag >= 4:send_msg("XXXXXXXX@qq.com","{}张显卡空闲,自动启动训练".format(flag))os.system("sh veri.sh") # your commandbreaktime.sleep(10)
运行
保存成py文件在服务器上:
nohup python3 -u watch_nvidia.py > tmp.txt 2>&1 &
本代码仅仅是发邮件提醒,其实可以将send_msg()换成启动你训练任务的命令,这样显卡空闲就自动启动你的训练任务了。
使用python脚本监控服务器显卡使用情况相关推荐
- Python监控服务器显卡使用情况程序
说明:该程序能够实时监控服务器的显卡运行情况,当达到设定的条件时,会发送邮件进行通知.建议打开微信邮件助手功能,可以实时收到通知信息. 改代码需要发送邮件部分,按要求写入自己的信息即可. import ...
- python统计行号_如何使用Python脚本分析CPU使用情况的?
用以分析Python中CPU使用情况.CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们. 接下来我们将看看如何跟踪Python脚本使用时CPU使用情况, ...
- graphviz python_工具推荐|我是如何使用Python脚本分析CPU使用情况的?
在这篇文章中,我将讨论一个工具,用以分析Python中CPU使用情况.CPU分析是通过分析CPU执行代码的方式来测量代码的性能,以此找到代码中的不妥之处,然后处理它们. 接下来我们将重点关注以下几个方 ...
- Jython-在JAVA调用Python脚本使用方法详解+示例代码
目录 前言 一.Jython简介 1.场景 2.下载 二.运用示例 构建Maven项目 构建java,运行python语句: 运行python脚本: 运行带有第三方库的Python脚本 转为jar包 ...
- rf运行python脚本报错_GNUradio与USRP折腾指南之环境搭建
其实这篇文章我想用摩斯电码写,但是由于我不会,所以我只能敲汉字了. 我五月份的时候拿到了两台USRP,是由国内山黑制作的.没想到居然出差一个多月,耽误了很多事情,现在我已经返回到我的家中,在折腾了很长 ...
- Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本
[本文出自天外归云的博客园] 网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf ...
- python在命令端口运行脚本_扫描端口占用情况的python脚本
之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描 ...
- python实时脚本_web 监控 python 脚本
Redis监控工具,命令和调优 Redis监控工具,命令和调优1.图形化监控 因为要对Redis做性能测试,发现了GitHub上有个python写的RedisLive监控工具评价不错.结果鼓捣了半天, ...
- python脚本编写_【PyQGIS】编写用于处理框架(QGIS3)的Python脚本
可以编写可通过QGIS中的Python控制台运行的独立pyqgis脚本.进行一些调整,即可使您的独立脚本通过处理框架运行.这具有几个优点.首先,获取用户输入和写入输出文件要容易得多,因为Process ...
最新文章
- 2017.6.26小学期1
- C语言深度剖析书籍学习记录 第六章 函数
- 百度Ueditor编辑器wordimage踩坑
- odoo 对 many2many one2many的操作
- vue设置isactive_Vue 编码风格指南!
- 用CIL写程序:从“call vs callvirt”看方法调用
- JAVA学习 第5天
- 基因组Denovo组装原理、软件、策略及实施
- html放大镜小图标,图片放大镜jquery.jqzoom.js使用实例附放大镜图标
- 大数据零基础学习并不难,从0到1你需要的不仅仅是努力!
- es文件浏览器smb服务器,ES文件浏览器怎么连接电脑SMB,可以参考这篇文章
- Tcl/Tk快速入门
- NKOI 3590 循环赛日程表
- 数据高位和低位的分离
- bestcoder 百度之星 1002 列变位法解密
- Google Earth Engine(GEE)最全632个数据集在哪里找?文章末含名称!
- 利用快手抖音做小吃培训,年入100000+
- 如何访问网络上其他计算机,电脑怎么连接别的网络
- Notion 出现白屏的处理
- if(a>b>c)的一个c语言易错题