linux脚本:自动检测的bash脚本,用于检查linux的系统性能

目录

一、要求

二、脚本介绍

1、脚本内容

2、解释

3、使用方法:

(1)脚本文件

(2)赋予权限

(3)执行结果

三、相关命令介绍

1、top

(1)定义

(2)用途

2、free

(1)定义

(2)用途

3、df

(1)定义

(2)用途

4、iostat

(1)定义

(2)用途

5、uptime

(1)定义

(2)用途

6、ps

(1)定义

(2)用途


一、要求

        编写一个用于检查Linux系统性能的自动检测脚本,可以包括多个系统性能指标的监控。该脚本将检查CPU使用率、内存使用情况、磁盘空间、磁盘I/O(如果iostat可用)、系统负载以及正在运行的进程等关键指标。

二、脚本介绍

        脚本需要一些额外的工具(如sysstat包含iostat)预装在的系统上,或者可能需要手动安装它们。

1、脚本内容

#!/bin/bash# 检查系统性能
echo "===== 系统性能检测 ====="# CPU 使用率
echo "===== CPU 使用率 ====="
top -bn1 | grep "Cpu(s)" | sed "s/., \([0-9.]\)% id./\1/" | awk '{print 100 - $1"%"}'# 内存使用情况
echo "===== 内存使用情况 ====="
free -h | grep Mem# 磁盘空间
echo "===== 磁盘空间 ====="
df -hT | grep -vE '^Filesystem|tmpfs|cdrom'# 磁盘I/O(如果iostat可用)
if command -v iostat &> /dev/null; thenecho "===== 磁盘I/O ====="iostat -dx 2 1 | egrep "Device|sda|sdb"  ##假设你的主要磁盘是sda或sdb,根据实际情况调整
elseecho "iostat命令未找到,请安装sysstat包"
fi# 系统负载
echo "===== 系统负载 ====="
uptime# 进程信息(CPU和内存占用最高的进程)
echo "===== 进程信息(CPU占用最高)====="
ps aux --sort=-%cpu | head -n 10echo "===== 进程信息(内存占用最高)====="
ps aux --sort=-%mem | head -n 10echo "===== 系统性能检测完成 ====="

        可以根据需要添加更多的检查项。

2、解释

        部分语句可以参考相关的linux的帮助,如下为补充说明:

- 脚本中的iostat命令部分使用了sda和sdb作为示例磁盘设备。应该根据的系统实际情况来调整这些值。如果的系统中有不同的磁盘设备,比如nvme0n1、xvda等,应该在iostat命令中相应地更改它们。

- 脚本中top命令的使用方式是为了快速获取CPU使用率的一个近似值,但它并不是最精确的方法。对于更精确的分析,可能需要编写更复杂的脚本或使用其他工具。

- 脚本中的free -h、df -hT等命令提供了易于阅读的输出格式(使用-h选项表示以人类可读的格式显示大小),但可以根据需要调整这些命令以获取更详细的输出。

- 脚本中的grep -vE '^Filesystem|tmpfs|cdrom'用于从df命令的输出中排除不需要的行(如文件系统类型、tmpfs文件系统和cdrom设备)。可能需要根据的具体需求调整这个排除模式。

3、使用方法:

(1)脚本文件

        将上述脚本保存为一个文件,例如system1_performance_check.sh。

(2)赋予权限

        赋予脚本执行权限:chmod +x system1_performance_check.sh。

(3)执行结果

        运行脚本使用如下命令:

        ./system1_performance_check.sh。

        结果如下所示:

      

三、相关命令介绍

1、top

(1)定义

        top命令用于实时显示系统中各个进程的资源占用状况,如CPU、内存等。它可以让你看到哪些进程正在运行,以及它们是如何影响系统性能的。

(2)用途

        主要用于系统监控,帮助系统管理员了解当前系统的运行状态,识别出消耗资源最多的进程。

2、free

(1)定义

        free命令用于显示系统当前的内存使用情况,包括物理内存、交换空间(swap)等。

(2)用途

        帮助用户和系统管理员了解当前系统的内存使用状况,包括空闲内存、已用内存、缓存等。

3、df

(1)定义

        df(disk free)命令用于显示磁盘分区上的可用空间。它会列出所有已挂载的文件系统的总空间、已用空间、可用空间以及挂载点等信息。

(2)用途

        主要用于磁盘空间管理,帮助用户和系统管理员了解磁盘的使用情况,避免磁盘空间耗尽。

4、iostat

(1)定义

        iostat命令用于监控系统输入输出设备和CPU的使用情况。它可以报告CPU统计信息和所有块设备(包括分区)的输入输出统计信息。

(2)用途

        帮助分析系统性能瓶颈,特别是与磁盘I/O相关的性能问题。

5、uptime

(1)定义

        uptime命令用于显示系统已经运行了多长时间,以及在这段时间内系统的平均负载。

(2)用途

快速查看系统的稳定性和负载情况,帮助判断系统是否处于健康状态。

6、ps

(1)定义

        ps(process status)命令用于显示当前终端或系统中的进程状态。它可以显示进程的快照,包括进程ID、运行时间、使用的CPU和内存资源等信息。

(2)用途

        帮助用户和系统管理员查看当前系统中正在运行的进程,以及它们的状态和资源使用情况。通过结合不同的选项和参数,ps命令可以提供非常详细的进程信息。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


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

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

相关文章

Layui修改表格分页为英文

Layui修改表格分页为英文 1.前言2.Laypage属性 1.前言 主要记录初次使用Layui没有好好看官方文档踩坑,修改了源码才发现可以自定义 使用的Layui版本2.9.14 2.Laypage属性 Laypage属性中带的有自定义文本的属性 示例代码 table.render({.......page: {skipText: …

2.4GHz射频前端集成芯片:AT2401C芯片中文资料

关于AT2401C的基本资料: AT2401C是一款面向Zigbee,无线传感网络以及其他2.4GHz频段无线系统的全集成射频功能的射频前端单芯片。 那么射频放大器的作用是什么?它是用来放大来自射频信号源的低功率信号,放大到较高的功率后&#xf…

7. 运行时数据区-栈

栈的分类 栈分为Java虚拟机栈还有本地方法栈: Java虚拟机栈:用于保存Java中的方法相关的内容本地方法栈:用于保存在Java中使用native 标记的用C来实现方法 由于hotspot的作者发现使用一个栈就可以保存以上两个部分的内容,所以在…

学习测试14-实战3-复习-使用CANoe打开半成品

数据 链接: https://pan.baidu.com/s/1k0SFq0luDvEbqimFgtfyKg?pwd9a5t 提取码: 9a5t 复制这段内容后打开百度网盘手机App,操作更方便哦 1,导入信号、报文、节点 2,导入数据库 3,导入can代码 4,导入环境变量 5&#x…

CTF竞赛介绍以及刷题网址(非常详细)零基础入门到精通,收藏这一篇就够了

前言 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今…

【保姆级教程】Windows 远程登陆 Linux 服务器的两种方式:SSH + VS Code,开发必备

0. 前言 很多情况下代码开发需要依赖 Linux 系统,远程连接 Linux 服务器进行开发和维护已成为一种常态。对于使用Windows系统的开发者来说,掌握如何通过 SSH 安全地连接到 Linux 服务器,并利用 VS Code 编辑器进行开发,是一项必备…

海外问卷调查这个项目怎么样?

大家好,我是橙河老师,今天讲一讲海外问卷调查这个项目怎么样?我自己做这个项目已经有三四年的时间了,在这个行业里算是资深玩家,我自己的工作室也一直稳定在操作这个项目,首先可以肯定的是,这个…

<数据集>棉花识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:13765张 标注数量(xml文件个数):13765 标注数量(txt文件个数):13765 标注类别数:4 标注类别名称:[Partially opened, Fully opened boll, Defected boll, Flower] 序…

甄选范文“论企业集成架构设计及应用”软考高级论文,系统架构设计师论文

论文真题 论企业集成架构设计及应用企业集成架构(Enterprise Integration Arhitecture,EIA) 是企业集成平台的核心,也是解决企业信息孤岛问题的关键。企业集成架构设计包括了企业信息、业务过程、应用系统集成架构的设计。实现企业集成的技术多种多样,早期的集成方式是通过…

仕考网:公务员可以报考军队文职吗?

公务员可以报考军队文职考试,但是需要满足前提条件。 对于已经与国家、地方的用人单位建立劳动关系的社会人才,在获得当前用人单位的许可后才可以申请报考。 在面试过程中,考生必须出示一份由其用人单位出具的且加盖公章的同意报考证明。一…

远程文件下载

在本机启动 http 服务,在你要下载文件的目录下输入 cmd ,运行 python -m http.server前提条件:本机安装了 python 服务。 查看本机 IP(无线局域网 IP),重新开一个窗口,查看本机 IP 地址。 ipc…

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation

【arxiv 2024】Latte: Latent Diffusion Transformer for Video Generation 一、前言Abstract1 Introduction2 Related Work3 Methodology3.1 Preliminary of Latent Diffusion Models3.2 The model variants of Latte3.3 The empirical analysis of Latte3.3.1 Latent video c…

C语言 ——— 函数指针数组的讲解及其用法

目录 前言 函数指针数组的定义 函数指针数组的使用 前言 数组是存放一组相同类型数据的存储空间 关于指针数组的知识请见:C语言 ——— 指针数组 & 指针数组模拟二维整型数组-CSDN博客 那么要将多个函数的地址存储到数组中,这个数组该如何定义…

C++中的依赖注入

目录 1.概述 2.构造函数注入 3.setter方法注入 4.接口注入 5.依赖注入框架 6.依赖注入容器 7.依赖注入框架的工作原理 8.依赖注入的优势 9.总结 1.概述 依赖注入是一种设计模式,它允许我们在不直接创建对象的情况下为对象提供其依赖项;它通过将…

云仓技术带来的物流变革影响

1、实时可视性: 云仓技术使物流公司能够实时跟踪和监控货物在供应链中的位置和状态。这种实时可视性提供了更好的货物追踪和管理能力,同时也提高了客户服务的质量。 ———————————————————— 2、仓储优化: 云仓技术可以…

从0开始搭建vue + flask 旅游景点数据分析系统(四):编写前端首页【数据驾驶舱】

本期我们编写数据驾驶舱页面(Dashboard)这个页面。主要任务是引入echarts 组件编写数据驾驶舱页面。 视频教程后续会更新在我的B站:https://space.bilibili.com/1583208775?spm_id_from666.25.0.0 推荐从教程第一集开始从零开始学习:https://blog.csdn…

实验室责任人员管理保障实训系统安全

在智慧校园的实训管理生态中,实验室责任人员的角色犹如精密机器中的关键齿轮,他们不仅是实验室安全与高效运转的守护者,更是实训教学质量的直接塑造者。这一角色的重要性,在智慧校园的数字化转型中得到了前所未有的凸显&#xff0…

Linux系统配置STM32的开发环境(代码编辑,编译,下载调试)

常见的stm32开发都是直接使用keil-MDK工具的,这是个集成开发环境,包含了代码编辑,编译,下载,调试,等功能,而且keil还是个图形化操作工具,直接可以点击图标案件就可以实现编译下载啥的…

Tableau入门|数据可视化与仪表盘搭建

原视频链接(up:戴戴戴师兄),文章为笔者的自学笔记,用于复习回顾,原视频下方有原up整理的笔记,更加直观便捷。因为视频中间涉及的细节较多,建议一边操作,一边学习。 整体介绍 可视化…

set,map(java)

前言:要了解set和map,首先需要对搜索树和哈希有一定的了解,才能进一步深入的了解set和map。 1.搜索树 (1)性质: 若它的左子树不为空,则左子树上所有节点值都小于根节点的值。 若它的右子树不…