7.16 Linux 运维之路¶
7.16.1 如何查看并计算 CPU 使用率¶
有很多的工具可以查看CPU使用率,使用Linux 自带的 top
是最常用的方式。
图中标注解释
标为 1
的 栏目,不同模式下的所占CPU时间的百分比。
其中几项指标的说明如下
us, user: 运行(未调整优先级的) 用户进程的CPU时间
sy,system: 运行内核进程的CPU时间
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait: 用于等待IO完成的CPU时间
hi,hardware interrupt:处理硬件中断的CPU时间
si,software interrupt: 处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
若你觉得这样不够直观,可以按 t
,切换显示
若这是多核机器,输入 1
,可以显示单核CPU使用情况。
若你觉得这样不够直观,可以按 t
切换成直方图显示
标为 2
的 栏目,表示各个进程的 cpu 使用率,比如第一个进程 348%
就是占满了3.48个核。
所谓的 cpu 使用率,其实就是 cpu使用时间
/ cpu运行时间
这里使用一台 KVM 的虚拟机做为展示
7.16.2 如何查看并计算 内存使用率¶
7.16.4 如何ssh多行执行命令¶
out=`ssh -l root -p$port $server_ip "mysql -h $server_ip -P $port -u $user -p$password -e \"mysql 命令\" "`
for cluster_ip in ${out[*]};
do
echo '========' $cluster_ip '开始更新...'
sshpass -p $password ssh -p $port root@$cluster_ip -t sshpass -p "password" ssh root@172.20.20.253 -o StrictHostKeyChecking=no <<eeooff
把你的命令写在这里
可以写多行
eeooff
done
7.16.5 获取随机数¶
获取 1 - 60 的随机数
function random_range() {
local beg=$1
local end=$2
echo $((RANDOM % ($end - $beg) + $beg))
}
result=`random_range 1 60`