使用sh代码快速查询Linux系统CPU与内存信息

需积分: 9 1 下载量 25 浏览量 更新于2024-10-31 收藏 621B ZIP 举报
资源摘要信息:"在Linux系统中,我们常常需要查询系统的CPU和内存信息以监控系统性能或进行故障诊断。本篇文档将通过sh脚本介绍如何使用Linux命令来查询CPU和内存信息。 首先,我们可以通过命令行界面(CLI)使用一系列的内置命令来获取CPU和内存的相关信息。这些命令通常是系统工具,如vmstat、top、free等,它们可以直接在终端执行。 对于CPU信息的查询,我们通常会使用以下命令: 1. 'lscpu' 命令能够显示出CPU的架构信息,包括CPU类型、核心数、线程数、频率等。 2. 'top' 命令会显示一个实时更新的进程列表,其中也包括CPU的使用情况。 3. 'mpstat' 命令会显示每个可用CPU的统计数据。 对于内存信息的查询,以下命令是常用的: 1. 'free' 命令可以提供一个内存使用情况的概览,包括物理内存和交换空间的使用情况。 2. 'vmstat' 命令可以显示关于内核线程、虚拟内存、磁盘IO、系统进程、CPU活动等的统计信息。 3. 'top' 命令同样可以查看内存的使用率,以及进程使用内存的情况。 接下来,我们将通过一个sh脚本示例来展示如何组合这些命令来查询CPU和内存信息。脚本名称为main.sh。 在编写脚本之前,首先需要创建脚本文件并赋予执行权限。可以通过以下命令完成: ```sh touch main.sh chmod +x main.sh ``` 然后,在main.sh文件中,我们可以写入如下脚本内容: ```sh #!/bin/bash # 显示CPU信息 echo "CPU Information:" lscpu echo "-----------------------" mpstat -P ALL 1 1 echo "-----------------------" # 显示内存信息 echo "Memory Information:" free -m echo "-----------------------" vmstat 1 echo "-----------------------" # 可以加入top命令,但请注意,top默认每5秒更新一次,可以通过参数调整 echo "Top CPU and Memory Usage:" top -b -n 1 ``` 该脚本首先使用lscpu命令获取CPU的详细信息,并通过mpstat命令展示每个CPU核心的使用情况。然后,脚本使用free命令和vmstat命令分别提供当前内存使用情况和内存使用的变化趋势。最后,使用top命令查看当前系统中CPU和内存的使用情况。 这个脚本可以通过在Linux终端中输入 './main.sh' 来运行。 除了脚本的编写,README.txt文件通常用于包含关于脚本或项目的说明文档。在我们的案例中,README.txt文件可能包括main.sh脚本的使用说明、每个命令的详细解释以及如何解读输出的信息。 例如,README.txt可以包含以下内容: ``` main.sh - 一个用于查询Linux系统CPU和内存信息的shell脚本 使用方法: 1. 在Linux终端中赋予脚本执行权限: chmod +x main.sh 2. 运行脚本: ./main.sh 脚本功能说明: 1. 使用lscpu命令展示CPU架构信息。 2. 使用mpstat命令展示每个CPU核心的使用情况。 3. 使用free命令展示内存使用概览。 4. 使用vmstat命令展示内存使用情况的变化趋势。 5. 使用top命令展示CPU和内存的实时使用情况。 解释输出信息: - lscpu命令输出包括CPU的架构、核心数、虚拟化支持等。 - mpstat命令输出显示每个核心的用户态、系统态和空闲的CPU使用率。 - free命令输出包括内存的总量、已使用量、空闲量以及交换空间的使用情况。 - vmstat命令输出包括关于进程、内存、IO、系统以及CPU活动的统计数据。 - top命令输出一个实时更新的进程列表,显示CPU和内存的使用情况。 注意: top命令的输出依赖于其内部更新频率,默认为5秒,可以通过参数进行调整。 ``` 上述脚本和文档说明了如何使用Linux系统命令来查询CPU和内存信息,并且通过示例给出了实际的操作过程。通过这种方式,用户可以更加高效地管理和监控他们的系统资源。"