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....