Linux系统运维命令:查看系统的平均负载(查看CPU的负载)

目          录

一、要求

二、快速了解系统资源利用情况的Linux命令

(一)cat /proc/loadavg命令

1、命令介绍

2、命令输出

3、命令解释

(1)前三个数字:

(2)第四个值:

(3)最后一个数字:

(二)vmstat命令

1、命令介绍

2、命令选项option

(1)常用选项

(2)输出字段解释

3、使用场景

4、命令示例

(1) procs

(2) memory

(3) swap

(4) io

(5) system

(6) cpu

(7)总结


一、要求

       linux中,我们经常采用top来看系统和线程的占用资源的情况,但是我们很多时候需要总体了解系统的资源占用情况,有没有一些简单的命令,不需要安装,系统自带,可以快速了解系统总的资源占用情况?

二、快速了解系统资源利用情况的Linux命令

(一)cat /proc/loadavg命令

1、命令介绍

        cat /proc/loadavg 是一个在 CentOS(以及其他 Linux 发行版)中常用的命令,用于查看系统的平均负载。/proc/loadavg 是一个虚拟文件,它反映了当前操作系统在内存中的运行情况,而不占用实际的磁盘空间。

2、命令输出

        当你执行 cat /proc/loadavg 命令时,你会看到类似以下的输出:


[root@ecs-52a1 121yunwei]# cat /proc/loadavg
0.05 0.10 0.15 1/234 12345
[root@ecs-52a1 121yunwei]#

3、命令解释

上面命令输出的那些数字的含义如下:

(1)前三个数字:

        这三个数字分别表示系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载。这个平均负载并不是 CPU 的使用率,而是可运行或等待运行(在运行队列中)的进程数的平均值。在单核 CPU 的系统上,如果这个数字大于 1,那么通常意味着系统有进程在等待 CPU 时间片。对于多核 CPU 的系统,这个数字可以超过 CPU 的核心数,但这并不一定表示系统过载,因为多个进程可以同时运行在不同的核心上。

(2)第四个值:

        这是一个分子和分母组成的分数。分子表示当前正在运行的进程数,分母表示系统总的进程数。例如,上面的输出中的 1/234 表示有 1 个进程正在运行,总共有 234 个进程。

(3)最后一个数字:

        这是最近一次运行的进程的 PID(进程 ID)。

        要正确理解这个命令的输出,你需要考虑你的系统的 CPU 核心数。例如,如果你有一个四核 CPU 的系统,并且 cat /proc/loadavg 的输出中第一个数字(1 分钟内的平均负载)为 4.00,那么这意味着系统在这段时间内平均有 4 个进程在等待或正在运行,这可以被认为是满负载运行。但如果这个数字超过 4,比如说是 5.00,那么意味着系统有过多的进程在等待 CPU 时间片,可能会导致性能下降。

        总的来说,cat /proc/loadavg 是一个快速查看系统负载状态的好方法,

(二)vmstat命令

1、命令介绍

        vmstat(Virtual Memory Statistics,虚拟内存统计)是Linux中用于报告关于系统虚拟内存、进程、磁盘IO、中断和CPU活动的重要统计信息的工具。通过vmstat命令,管理员和用户可以快速了解系统的整体性能状况和瓶颈所在。

        命令格式如下:

vmstat [options] [delay [count]]

2、命令选项option

        options 是可选的参数,用于指定vmstat命令的行为。

        delay 是两次报告之间的时间间隔,以秒为单位。

        count 是报告的次数。如果不指定,vmstat将持续运行直到被中断。

(1)常用选项

        -a:显示活跃和非活跃内存。

        -f:显示从系统启动至今的fork数量。

        -m:显示slabinfo信息。

        -n:在周期性循环输出时,输出的头部信息仅显示一次。

        -s:显示内存相关统计信息及多种系统活动数量。

        -d:显示磁盘相关统计信息。

        -p:显示指定磁盘分区统计信息。

        -S:使用指定单位显示。例如,k或K表示1000字节,m或M表示1000000字节。

        -V:显示vmstat的版本信息。

(2)输出字段解释

        vmstat命令的输出包含多个字段,每个字段都反映了系统某个方面的状态或活动情况。例如:

        Procs:进程状态相关字段,包括运行和等待CPU时间的进程数、不可中断状态的进程数等。

        Memory:内存使用相关字段,如总量、使用量、空闲量、缓存量等。

        Swap:交换空间使用相关字段。

        IO:磁盘IO相关字段,包括块读/写、中断次数等。

        CPU:CPU使用相关字段,如用户空间占用率、系统空间占用率、空闲率等。

        为了获取每个字段的具体解释,你可以查阅vmstat的手册页,通过运行man vmstat命令来访问。

3、使用场景

        vmstat命令通常用于以下场景:

  •         性能监控:定期运行vmstat以监控系统的资源使用情况,包括内存、CPU和磁盘IO。
  •         故障排查:当系统出现性能问题时,可以使用vmstat来识别可能的瓶颈或资源争用情况。
  •         系统调优:基于vmstat的输出,可以对系统进行调优,例如调整内存分配、优化磁盘IO等。

4、命令示例

        以下是一个简单的vmstat命令示例:

vmstat 1  # 每秒更新一次系统状态

        这个命令将每秒打印一次系统状态,包括内存、交换、IO、CPU等信息,直到你手动停止它(通常是通过按下Ctrl+C)。

5、Vmstat命令实例详解


[root@ecs-52a1 121yunwei]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st1  0      0 141140 225700 3840776    0    0    18    42    2    2  2  5 92  0  0
[root@ecs-52a1 121yunwei]# 

        当输入 `vmstat` 并得到以下输出:

        这些数据的解释如下:

(1) procs

        * **r**: 运行队列中的进程数,即等待CPU时间的进程数。在这个例子中,有1个进程在等待CPU时间。

        * **b**: 处于不可中断状态的进程数。在这个例子中,没有进程处于不可中断状态。

        * **swpd**: 使用的交换空间大小(KB)。在这个例子中,没有使用交换空间。

(2) memory

        * **free**: 空闲的物理内存大小(KB)。在这个例子中,有141140KB的空闲物理内存。

        * **buff**: 缓冲区内存大小(KB)。缓冲区用于存储块设备的读写数据,通常用于磁盘I/O。在这个例子中,有225700KB的缓冲区内存。

        * **cache**: 缓存内存大小(KB)。缓存用于存储文件系统的数据和目录项,以提高文件访问速度。在这个例子中,有3840776KB的缓存内存。

(3) swap

        * **si**: 每秒从交换空间换入到物理内存的数据量(KB/s)。

        * **so**: 每秒从物理内存换出到交换空间的数据量(KB/s)。

        在这个例子中,`si` 和 `so` 都是0,表示没有数据在物理内存和交换空间之间交换。

(4) io

        * **bi**: 块设备接收的块数(块/秒)。

        * **bo**: 发送到块设备的块数(块/秒)。

        在这个例子中,`bi` 是18块/秒,`bo` 是42块/秒,表示了系统的磁盘I/O活动。

(5) system

        * **in**: 每秒的中断数,包括时钟中断。

        * **cs**: 每秒上下文切换次数。

        在这个例子中,每秒有2个中断和2次上下文切换。

(6) cpu

        * **us**: 用户空间占用CPU的百分比。

        * **sy**: 内核空间占用CPU的百分比。

        * **id**: 空闲CPU的百分比。

        * **wa**: 等待I/O的CPU百分比。

        * **st**: 被虚拟机偷走的CPU时间百分比(如果有虚拟机的话)。

        在这个例子中:

        * 用户空间占用CPU的百分比是2%。

        * 内核空间占用CPU的百分比是5%。

        * 空闲CPU的百分比是92%。

        * 等待I/O的CPU百分比是0%。

        * 没有被虚拟机偷走的CPU时间。

(7)总结

        从这些数据中可以看出,系统当前的负载非常低,大部分CPU时间都是空闲的,只有很少的进程在等待CPU时间,磁盘I/O活动也很低。这是一个相当健康的系统状态。

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

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

相关文章

Android 15 首个开发者预览版到来

作者 / 工程副总裁 Dave Burke Android 15 的首个开发者预览版现已发布,以便各位开发者能与我们通力协作,打造更优秀的 Android 平台。 在 Android 15 中,我们继续致力于打造一个既能提升工作效率,又能提供全新功能的平台。这些新…

linux命令深入研究——cat

cat命令,“猫”,可以理解为瞄一眼文件内容,其中可以用重定向符号对文件进行一些修改,如增加,删除文件内容,其命令参数如-n,-s,-b可以输出带有行号的行 如果想要快速删除文件内容&…

leecode算法三

回溯 划分为k个相等的子集 相似度为 K 的字符串 动态规划 第k个数 使序列递增的最小交换次数 贪心算法 最多盛水容器 雇佣k个工人的最低成本

idea Springboot 组卷管理系统LayUI框架开发mysql数据库web结构java编程计算机网页

一、源码特点 springboot 组卷管理系统是一套完善的完整信息系统,结合mvc框架和LayUI框架完成本系统springboot spring mybatis ,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整…

前端入职配置新电脑!!!

前端岗位入职第一天到底应该做些什么呢?又该怎样高效的认识、融入团队?并快速进入工作状态呢?这篇文章就来分享一下,希望对即将走向或初入前端职场的你,能够有所帮助。内含大量链接,欢迎点赞收藏&#xff0…

LLM之RAG实战(二十九)| 探索RAG PDF解析

对于RAG来说,从文档中提取信息是一种不可避免的场景,确保从源文件中提取出有效的内容对于提高最终输出的质量至关重要。 文件解析过程在RAG中的位置如图1所示: 在实际工作中,非结构化数据比结构化数据丰富得多。如果这些海量数据无…

神经网络处理器优化设计(一)

神经网络处理器优化设计,涉及到一些特殊和通用处理流程,一是降低硬件成本,二是提高性能。 一 跨层流水线调度 这里主要针对深度可分离卷积,将Pointwise conv与Depthwise卷积并行处理,好处是,减小整体流水时…

c++中的if语句、switch语句、std::map以及多态比较

实现多分支逻辑的场景通常可以使用以下几种技术手段可以选择 if-else语句switch语句三元运算符(只能实现2个分支的场景,本文不做讨论)映射表(std::map、数组或std::vector)多态(策略模式为例) …

java零基础入门-Map集合练习(下)

一、教学目标 能够使用HashMap集合实现值为双列集合存放。能够使用HashMap集合实现值为单列集合存放。能够使用HashMap集合实现值为基本数据类型存放。能够使用HashMap集合实现值为对象存放。 二、HashMap实现自定义元素存放 3、值存放双列集合 对于值又存放map?m…

对矩阵进行奇异值分解 numpy.linalg.svd()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 对矩阵进行奇异值分解 numpy.linalg.svd() [太阳]选择题 请问根据以下程序说法正确的是: import numpy as np A np.array([[1, 2], [3, 4], [5, 6]]) print("【显示】A:\n&q…

Tcl语言:基础入门(三)

相关阅读 Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 Tcl中的大括号 大括号{}可以使得被其包围的所有内容被解释为字面量,所以不会进行命令替换,转义符替换(大部分情况的转义&#xff0…

爬虫学习 Scrapy中间件代理UA随机selenium使用

目录 中间件UA、代理处理---process_requestUA随机 代理处理seleniumscrapy 中间件 控制台操作 (百度只起个名 scrapy startproject mid scrapy genspider baidu baidu.com setting.py内 ROBOTSTXT_OBEY FalseLOG_LEVEL "WARNING"运行 scrapy crawl baidu middle…