7.16 Linux 运维之路 =================== |image0| 7.16.1 如何查看并计算 CPU 使用率 -------------------------------- 有很多的工具可以查看CPU使用率,使用Linux 自带的 top 是最常用的方式。\ |image1| 图中标注解释 标为 ``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`` ,切换显示\ |image2| 若这是多核机器,输入 ``1`` ,可以显示单核CPU使用情况。\ |image3| 若你觉得这样不够直观,可以按 ``t``\ 切换成直方图显示\ |image4| 标为 ``2`` 的 栏目,表示各个进程的 cpu 使用率,比如第一个进程 348% 就是占满了3.48个核。 所谓的 cpu 使用率,其实就是 ``cpu使用时间`` / ``cpu运行时间`` 这里使用一台 KVM 的虚拟机做为展示 7.16.2 如何查看并计算 内存使用率 -------------------------------- 7.16.3 获取执行命令标准错误 --------------------------- 将标准错误重定向到标准输出 .. code:: shell ${command} 2>&1 7.16.4 如何ssh多行执行命令 -------------------------- .. code:: shell 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 <