Shell一键查看服务器资源利用率

一键查看服务器CPU,内存,硬盘,TCP连接状态

在实际生产环境中,我们需要时时刻刻关注服务器硬件的使用情况,比如查看cpu使用率我们可以用vmstat,top命令,查看内存使用率我们可以用free命令,查看硬盘使用率可以使用df命令,tcp连接状态使用netstat命令,但是这样操作起来不仅浪费时间,而且显示效果也不直观,更会占用运维工作的碎片时间。所以我们可以来写这样一个脚本,一键查看服务器资源利用率并且让他显示的更加直观。

#!/bin/bash
#获取cpu利用率
function cpu () {
 util=$(vmstat |awk '{if(NR==3)print $13+$14}')
 iowait=$(vmstat |awk '{if(NR==3)print $16}')
 echo "CPU-使用率:${util}%,等待磁盘IO响应使用率: ${iowait}%"
}
#获取内存利用率·
function memory () {
 total=$(free -m |awk '{if(NR==2)printf "%.1f",$2/1024}')
 used=$(free -m |awk '{if(NR==2)printf "%.1f",($2-$NF)/1024}')
 available=$(free -m |awk '{if(NR==2)printf "%.1f",$NF/1024}')
 echo "内存-总大小:${total}G,已使用:${used}G,剩余:${available}G"
 }
#获取硬盘利用率
function disk () {
 fs=$(df -h |awk '/^\/dev/{print $1}')
 for p in $fs; do
  mounted=$(df -h |awk -v p=$p '$1==p{print $NF}')
  size=$(df -h |awk -v p=$p '$1==p{print $2}')
  used=$(df -h |awk -v p=$p '$1==p{print $3}')
  used_percent=$(df -h |awk -v p=$p '$1==p{print $5}' )
  echo "硬盘-挂载点:$mounted,总大小:$size,已使用:$used,使用率:$used_percent"
 done
}
#获取TCP连接状态
function tcp_status() {
 summary=$(netstat -anpt |awk '{a[$6]++}END{for(i in a)printf i":"a[i]" "}')
 echo "TCP连接状态-$summary" 
}
cpu
memory
disk
tcp_status

执行显示效果如下图所示

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张某人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值