服务器利用率的神器脚本

在服务器管理的过程中,了解服务器的各项性能指标是至关重要的。无论是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

总结:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】Mysql——安装指南(Linux)

MySQL8.0.26-Linux版安装 1. 准备一台Linux服务器 云服务器或者虚拟机都可以; Linux的版本为 CentOS7; 2. 下载Linux版MySQL安装包 3. 上传MySQL安装包 4. 创建目录,并解压 mkdir mysqltar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql5. 安装mysql的安装包 …

pip镜像源

1.1 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 1.2 阿里云 https://mirrors.aliyun.com/pypi/simple/ 1.3 网易 https://mirrors.163.com/pypi/simple/ 1.4 豆瓣 https://pypi.douban.com/simple/ 1.5 百度云 https://mirror.baidu.com/pypi/simple/ 1.6 中科大 ht…

RAG 面向 LLM: 基于检索增强的大语言模型调研

摘要 作为 AI 领域最先进的技术之一,检索增强生成(RAG)技术可以提供可靠和最新的外部知识,为众多任务提供巨大的便利。特别是在 AI 生成内容(AIGC)时代,RAG 中检索强大的提供额外知识的能力使得检索增强生成能够辅助现有生成式 AI 生产高质量输出。最近,大语言模型(LLM)在语言…

Zoho CRM企业成长的智能引擎,智能化销售自动化

数字化时代,客户体验已成为企业竞争的核心要素。卓豪Zoho CRM,作为全球领先的SaaS云端客户关系管理平台,正引领着一场企业运营模式的变革,助力超过25万家企业跨越180多个国家,实现客户互动与业务增长的无缝对接。让我们…

广汽原车控制系统CAN协议控制汽车基本信息获取及数据应用

在现代汽车工业的迅速发展中,车辆控制系统的智能化和网络化已成为提升汽车性能的关键。广汽作为中国汽车行业的佼佼者,其在原车通信网络方面也取得了显著的成就。特别是广汽原车CAN(Controller Area Network)协议的应用&#xff0…

短视频最后的慢动作怎么做:成都鼎茂宏升文化传媒公司

短视频最后的慢动作怎么做:技巧与创意实践指南 在短视频创作的浩瀚宇宙中,慢动作特效如同一颗璀璨的星辰,为作品增添无限魅力与情感深度。它不仅能够放大细节之美,还能延长关键瞬间,引发观众强烈的情感共鸣。短视频最…

SpringBoot项目的项目部署全过程

一、前端 安装nginx 1.将提前准备好的nginx的安装包上传到Linux中/opt目录下(我用的是Xftp) 2.解压 2.1:在xshell中解压该文件: tar -zxvf nginx-1.20.1.tar.gz 2.2:进入解压后的目录 cd nginx-1.20.1/ 2.3:安装需要的依赖 yum -y install zlib zlib-devel openssl openssl-de…

FreeRTOS【4】线程挂起和恢复

1.开发背景 基于上一篇指引,成功创建并启动线程后,线程已经开始运行了,但是有时我们需要线程暂停运行,例如某个线程是控制 LED 闪灯的,如果现在需要让 LED 停止工作,单纯的关闭 LED 是没用的,因…

【智能优化算法】雁群优化算法(Wild Geese Algorithm,WGA)

雁群优化算法(Wild Geese Algorithm,WGA)是期刊“Array”的2021年智能优化算法 01.引言 雁群优化算法(Wild Geese Algorithm,WGA)用于大规模全局优化,并利用IEEE CEC 2008和CEC 2010高维D100、500、1000特别会议的大规模测试函数验证了该算法的效率和性能。WGA的灵…

OceanBase v4.3特性解析:新功能“租户克隆”的场景与应用指南

熟悉或曾用过OceanBase的朋友,对于“多租户”这一理念定不陌生。OceanBase的租户概念,与我们熟知的传统数据库实例颇为相似。举例来说,OceanBase的租户支持MySQL兼容模式,对于用户而言,选用一个MySQL兼容模式的租户&am…

589.N叉树的前序遍历

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

达梦sql中参数个数太多导致出现SOH等特殊字符报错无效的序列号是不是达梦的bug

mybatis的Mapper.xml中如下: in中的参数大概有1万6千多个,分成每1000个一组拼接成sql,然而在达梦中执行时报如下: Caused by: dm.jdbc.driver.DMException: Invalid sequence noat dm.jdbc.driver.DBError.throwException(DBError.java:710)…

【风变】Python爬虫精进复习-20240430

参考笔记 下面给出一个巨佬学习风变pyhton基础语法和爬虫精进的笔记(链接) 风变编程笔记(一)-Python基础语法 风变编程笔记(二)-Python爬虫精进 技术总结 request BeautifulSoup selenium BeautifulSoup 练习0-1:文章下载 import requ…

舜山木业有限公司现已加入2024长三角快递物流供应链与技术装备展览会

参展企业介绍 绍兴舜山木业有限公司是中华人民共和国出境木质包装定点企业、浙江省林业重点龙头企业。2011年起全面导入和开发应用符合木包装企业生产特点的ERP管理系统,顺利通过国家三级安全生产标准化验收,取得欧标托盘在中国大陆区的生产商执照资格。…

九、e2studio VS STM32CubeIDE之const修饰BSP函数的形参

目录 一、概述/目的 二、通过串口发送函数对比 2.1 stm32 hal库 VS renesas FSP 2.2 const修改函数形参的作用 2.2.1 值传递-副本 2.2.2 指针传递(就近原则) 2.2.2.1 const修饰:*P 2.2.2.2 const修饰:指针变量P 2.2.2.3 …

手撸XXL-JOB(二)——定时任务管理

在上一节中,我们介绍了SpringBoot中关于定时任务的执行方式,以及ScheduledExecutorService接口提供的定时任务执行方法。假设我们现在要写类似XXL-JOB这样的任务调度平台,那么,对于任务的管理,是尤为重要的。接下来我们…

最新Linux Debian12安装和使用ImageMagick图像处理工具 常见图片png、jpg格式转webp格式

在Linux系统中,使用ImageMagick可以图片格式转换,其中最常用的是通过命令行工具进行。 ImageMagick是一个非常强大的图像处理工具集,它包含了许多用于图像转换的命令。 一、安装ImageMagick(如果尚未安装)&#xff1…

在线音乐系统

文章目录 在线音乐系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 在线音乐系统 一、项目演示 音乐网站 二、项目介绍 基于springbootvue的前后端分离在线音乐系统 登录角色 : 用户、管理员 用…

Git 的原理与使用(中)

Git 的原理与使用(上)中介绍了Git初识,Git的安装与初始化以及工作区、暂存区、版本库相关的概念与操作,本文接着上篇的内容,继续深入介绍Git在的分支管理与远程操作方面的应用。 目录 五、分支管理 1.理解分支 2.创…

java约拍摄影小程序

获取源码配套资料论文等、问题解答,可以加华神扣扣:3753599439 扣扣:1590404240 叩叩:1306749621