首先主要依靠的是gpustat和sshpass
没有gpustat的
使用如下指令安装
pip install gpustat
没有sshpass的使用如下指令安装
sudo apt-get install sshpass
sh文件代码gpushow.sh如下
ip1="你的服务器1 IP"
ip2="你的服务器1 IP"
ip3="你的服务器1 IP"
username="服务器上的用户名"
password="服务器的密码"
echo "运行ing..."
#如果想要在这里显示的话使用如下模式
sshpass -p ${password} ssh ${username}@${ip1} gpustat -cpu
sshpass -p ${password} ssh ${username}@${ip2} gpustat -cpu
sshpass -p ${password} ssh ${username}@${ip3} gpustat -cpu
#如果想放在外面的文件作为输出日志便于处理
var1=$(sshpass -p ${
password} ssh ${
username}@${
ip1} gpustat -cpu)
var2=$(sshpass -p ${
password} ssh ${
username}@${
ip2} gpustat -cpu)
var3=$(sshpass -p ${
password} ssh ${
username}@${
ip3} gpustat -cpu)
reuslt=${var1}${var2}${var3}
echo $reuslt > result.txt
python gpushow.py
python文件gpushow.py代码如下
f = open("result.txt","r") #设置文件对象
string1 = f.read() #将txt文件的所有内容读入到字符串string1中
f.close() #将文件关闭
做一下不同服务器输出信息之间的划分
infor1 = string1.split("第2台服务器的名字")[0]# 这就是第1台服务器的信息
infor1 = string1.split("第2台服务器的名字")[1].split("第3台服务器的名字")[0]# 这就是第2台服务器的信息
infor1 = string1.split("第3台服务器的名字")[1]# 这就是第3台服务器的信息
def show(title,string_num):
print(title)
for num,i in enumerate(string_num.split("[")):
if num==0:
continue
else:
print("["+i)
show("1服务器",string1)
show("2服务器",string2)
show("3服务器",string3)
然后可以使用如下指令让她进行不断地循环检查
watch -n 20 ./gpushow.sh
最后的结果如下