監控有空閒資源的GPU並傳送郵件

2021-10-10 16:39:51 字數 1945 閱讀 8346

import getpass

import re

import smtplib

import socket

import subprocess

import time

from email.mime.text import mimetext

import numpy as np

deflogin_email()

: msg_from =

input

('傳送方郵箱賬戶:'

)# 傳送方郵箱

passwd =

input

('傳送方郵箱密碼:'

)# 填入傳送方郵箱的授權碼

msg_to =

input()

# 收件人郵箱

return msg_from, passwd, msg_to

defgather_info()

: user_name = getpass.getuser(

) ip_addr = socket.gethostbyname(socket.gethostname())

used_gpu_memory = np.array(

list

(map

(int

, re.findall(

"(\d+)"

, subprocess.getstatusoutput(

'nvidia-smi -q -d memory |grep -a4 gpu|grep used')[

1], flags=0)

))) free_gpu_memory = np.squeeze(np.argwhere(used_gpu_memory <

100)

).tolist(

) gpu_message = f"當前可能空閒的卡號為:."

content = f", 您好! " \

f"ip 為 的伺服器有顯示卡空餘, " \

f""return content,

true

iflen

(free_gpu_memory)

>

0else

false

defsend_email

(content, msg_from, passwd, msg_to)

: msg = mimetext(content)

msg[

'subject']=

"gpu 有空缺提示!"

msg[

'from'

]= msg_from

msg[

'to'

]= msg_to

try: s = smtplib.smtp_ssl(

"smtp.qq.com"

,465

)# 郵件伺服器及埠號

s.login(msg_from, passwd)

s.sendmail(msg_from, msg_to, msg.as_string())

print

("傳送成功"

)except exception as e:

print

(f"傳送失敗: "

)finally

: quit(

)if __name__ ==

"__main__"

: msg_from, passwd, msg_to = login_email(

)while

true

: content, flag = gather_info(

)if flag:

send_email(content, msg_from, passwd, msg_to)

time.sleep(

10)

基於空閒資源的彈性計算實踐

為解決上述挑戰,我們設計了彈性計算技術架構下圖所示,其中 接入層 負責提供服務化介面,包括服務訪問,服務配置,顯像管理等 排程層 通過名字服務遮蔽多樣易變資源,實現負載均衡,擴縮容排程,故障排程,錯峰排程,灰度變更等能力 節點層 實現資源隔離,衝突檢測,容器管理監控等機制,供上層使用 下面針對關鍵挑...

CPU對GPU的資源更新

一共有四個方法進行對資源進行更新 cpu呼叫 id3d11devicecontext map gpu呼叫 id3d11devicecontext copysubresourceregion id3d11devicecontext copyresource id3d11devicecontext up...

glances的使用 linux資源監控

yum install glances直接輸入命令 glances相關命令選項 b 顯示網路連線速度 byte 秒 b ip host 繫結伺服器端 ip 位址或者主機名稱 c ip host 連線 glances 伺服器端 c file 設定配置檔案預設是 etc glances glances....