#!/bin/bash
src_dir=$(cd `dirname $0` && pwd)
source /etc/profile
cpu_mhz() {
lscpu|grep "CPU MHz"|awk '{print $NF}'
}
mem_used() {
echo "100-$(free -m|grep -w 'Mem'|awk '{print $NF'/'$2}')*100"|bc
}
disk_w() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='wMB/s'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_wio() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='w/s'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_r() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='rMB/s'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_rio() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='r/s'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_iops() {
INPUT=$(disk_rio $@)
OUTPUT=$(disk_wio $@)
echo "${INPUT}+${OUTPUT}"|bc
}
disk_ioutil() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='%util'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_svctm() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='svctm'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_r_await() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='r_await'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -x -m -d $1 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
disk_w_await() {
num=1
info=($(iostat -x -m -d $@ 1 1|grep "Device"))
stat='w_await'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -c 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
cpu_iowait() {
num=0
info=($(iostat -c 1 1|grep "avg-cpu"))
stat='%iowait'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -c 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
cpu_idle() {
num=0
info=($(iostat -c 1 1|grep "avg-cpu"))
stat='%idle'
for i in ${info[@]}
do
if [ ${i} == "${stat}" ];then
break
fi
let num++
done
iostat -c 1 2|grep -v "^$"|tail -1|awk "{print \$${num}}"
}
proc_test() {
proc=$(ps aux|grep -v PID|sort -rn -k +3|head -1|awk '{print $11}')
cpu_used=$(vmstat -w 1 3|tail -1|awk '{print $13}')
if [ ${cpu_used} -gt 80 ];then
if echo ${proc}|grep "lotus" >/dev/null 2>&1;then
echo 0
elif echo ${proc}|grep "chia" >/dev/null 2>&1;then
echo 0
else
echo 1
fi
else
echo 0
fi
}
gpu_mon() {
sys_gpus=$(lspci|grep -i vga|grep -i nvidia|wc -l)
if [ ${sys_gpus} -eq 0 ];then
echo "10"
else
nvidia-smi -L|wc -l >${src_dir}/.gpus 2>&1 &
nvidia-smi -L | awk 'NR==1 {print $1}' >${src_dir}/.gpu 2>&1 &
sleep 10 ; pkill -9 nvidia-smi
load_gpus=$(cat ${src_dir}/.gpus)
load_gpu=$(cat ${src_dir}/.gpu)
if [ ! -e ${src_dir}/.gpus ];then
echo 11
elif [ "$load_gpu" != "GPU" ];then
echo 12
else
echo "${sys_gpus}-${load_gpus}"|bc
fi
fi
rm -rf ${src_dir}/.gpu
rm -rf ${src_dir}/.gpus
}
$@