服务器利用率的神器脚本

在服务器管理的过程中,了解服务器的各项性能指标是至关重要的。无论是CPU的负载情况,内存使用情况,还是硬盘的存储空间以及TCP连接状态,这些都是我们判断服务器健康状态和性能的重要依据。然而,手动一项项去检查这些指标,既繁琐又耗时。现在,有一个神奇的脚本可以帮你一键查看所有这些关键信息!

这个脚本包含了四个功能强大的函数,分别能查看CPU使用率、内存使用情况、硬盘空间以及TCP连接状态。让我们一起来详细了解一下这个脚本的魔力所在吧!

1. CPU使用情况一目了然

通过cpu函数,你能够迅速获取CPU的使用率和等待磁盘IO的相应使用率。这两个指标对于评估服务器的运算能力和磁盘性能至关重要。

这段代码通过vmstat命令获取CPU的使用数据,并经过awk处理,最后输出我们关心的使用率指标。

2. 内存使用情况尽在掌握

memory函数则为你提供了服务器内存的总大小、已使用量和剩余量的详细数据。通过这些信息,你可以轻松判断服务器的内存是否充足,是否需要扩容。

 

该函数利用free -m命令来获取内存的使用情况,并通过awk进行数据处理,最终输出清晰易懂的内存使用情况报告。

3. 硬盘空间了如指掌

通过disk函数,你可以查看服务器上所有硬盘分区的挂载点、总大小、已使用空间和使用率。这对于监控磁盘空间的使用情况,预防磁盘满载至关重要。

 

这个函数通过df -h命令获取硬盘的使用数据,并结合awk进行处理,为你提供详细的硬盘空间报告。

4. TCP连接状态清晰可见

最后,tcp_status函数能够展示当前服务器上所有的TCP连接状态。这对于监控网络连接、发现潜在的网络问题非常有帮助。

 

此函数利用ss -antp命令来获取TCP连接的状态,并通过awk进行统计,最终输出各种状态的TCP连接数量。

脚本:

#!/bin/bash  
# 定义cpu函数,用于显示CPU使用率和等待磁盘IO的相应使用率  function cpu(){      # 使用vmstat命令获取CPU的用户态和系统态使用率之和      util=$(vmstat | awk '{if(NR==3)print $13+$14}')      # 使用vmstat命令获取CPU的等待磁盘IO的相应使用率      iowait=$(vmstat | awk '{if(NR==3)print $16}')      # 输出CPU使用率和等待磁盘IO的相应使用率      echo "CPU -使用率:${util}% ,等待磁盘IO相应使用率:${iowait}%"  }    # 定义memory函数,用于显示内存的总大小、已使用量和剩余量  function memory (){      # 使用free命令获取总内存大小(单位转换为G)      total=`free -m |awk '{if(NR==2)printf "%.1f",$2/1024}'`      # 使用free命令获取已使用的内存大小(单位转换为G)      used=`free -m |awk '{if(NR==2) printf "%.1f",($2-$NF)/1024}'`      # 使用free命令获取剩余的内存大小(单位转换为G)      available=`free -m |awk '{if(NR==2) printf "%.1f",$NF/1024}'`      # 输出内存的总大小、已使用量和剩余量      echo "内存 - 总大小: ${total}G , 使用: ${used}G , 剩余: ${available}G"  }    # 定义disk函数,用于显示硬盘的挂载点、总大小、已使用空间和使用率  disk(){      # 使用df命令获取所有硬盘分区的设备名称      fs=$(df -h |awk '/^\/dev/{print $1}')      # 遍历每个硬盘分区      for p in $fs; do          # 使用df命令获取分区的挂载点          mounted=$(df -h |awk '$1=="'$p'"{print $NF}')          # 使用df命令获取分区的总大小          size=$(df -h |awk '$1=="'$p'"{print $2}')          # 使用df命令获取分区已使用的空间          used=$(df -h |awk '$1=="'$p'"{print $3}')          # 使用df命令获取分区的使用率          used_percent=$(df -h |awk '$1=="'$p'"{print $5}')          # 输出分区的挂载点、总大小、已使用空间和使用率          echo "硬盘 - 挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent"      done  }    # 定义tcp_status函数,用于显示TCP连接状态  function tcp_status() {      # 使用ss命令获取TCP连接状态,并使用awk进行统计      summary=$(ss -antp |awk '{status[$1]++}END{for(i in status) printf i":"status[i]" "}')      # 输出TCP连接状态统计结果      echo "TCP连接状态 - $summary"  }    # 调用各个函数,显示相关信息  cpu  memory  disk  tcp_status

总结:

这个神奇的脚本将复杂的服务器性能监控变得简单而直观。只需一键运行,你就能获取到服务器的各项关键性能指标,为你的服务器管理提供强大的数据支持。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值