从uptime看linux平均负载

        从前遇到系统卡顿只会top。。top看不出来怎么搞呢?

        Linux系统提供了丰富的命令行工具,以帮助用户和系统管理员监控和分析系统性能。在这些工具中,uptime、mpstat和pidstat是非常有用的命令,它们可以帮助你理解系统的平均负载以及资源使用情况。

uptime命令

        uptime命令用于显示系统运行的时间、用户数量以及平均负载。平均负载是指在特定时间间隔内,系统处于运行状态和不可中断状态的平均进程数。这个数字给出了系统工作负载的一个概览。

使用uptime命令

root@gl:/home/gl# uptime
 08:58:38 up  4:17,  4 users,  load average: 0.97, 1.00, 0.86

        这里的08:58:38是当前时间,up 4:17 表示系统已经运行了4小时17分钟,4 users表示有4个用户登录系统,load average: 0.97, 1.00, 0.86分别表示过去1分钟、5分钟和15分钟的平均负载。

mpstat命令

        mpstat命令用于报告CPU的统计信息。它可以显示每个可用CPU的性能统计,帮助你分析CPU的使用情况。

使用mpstat命令

Linux 4.15.0-213-generic (gl)   01/16/2024      _x86_64_        (2 CPU)

08:58:13 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:58:14 AM  all    0.00    0.00    8.75   25.62    0.00    3.12    0.00    0.00    0.00   62.50
08:58:14 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:58:14 AM    1    0.00    0.00   23.33   68.33    0.00    8.33    0.00    0.00    0.00    0.00

        可以看出,系统中有两个cpu,1号cpu(%iowait)68%,说明存在大量的IO操作。


pidstat命令

        pidstat用于监控各个进程的资源使用情况,包括CPU、内存、磁盘I/O等。

使用pidstat命令

root@gl:/home/gl# pidstat -u 1
Linux 4.15.0-213-generic (gl)   01/16/2024      _x86_64_        (2 CPU)

08:58:34 AM   UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
08:58:35 AM     0       220    0.00    8.91    0.00    0.00    8.91     1  kworker/1:1H
08:58:35 AM     0     18799    0.00    8.91    0.00    8.91    8.91     1  stress

PID:进程ID。
%usr:用户态CPU时间百分比。
%system:内核态CPU时间百分比。
%guest:客户机操作系统占用的CPU时间百分比。
%wait:进程等待I/O操作完成所占用的CPU时间百分比。
%CPU:总的CPU使用率百分比。
CPU:进程所在的CPU编号。
Command:进程的命令名。

        从pidstat的结果可以看出名为stress的这个进程是触发iowait较高的罪魁祸首。

ps命令

root@gl:/home/gl# ps aux | grep stress
root     18798  0.0  0.0   3704  1372 pts/0    S+   08:57   0:00 stress -i 1 --timeout 600
root     18799 11.3  0.0   3704   108 pts/0    D+   08:57   0:38 stress -i 1 --timeout 600

        通过ps命令先拿到stress的pid,如上有两个。

strace命令

        依次用strace查看进程正在执行的系统调用,发现在不停的执行sync(刷新缓存到磁盘)操作,所以合理怀疑可能是stress进程中写完文件刷新时存在死循环。下一步就可以考虑对比log分析对应部分的代码了。

root@gl:/home/gl# strace -p 18799
strace: Process 18799 attached
sync()                                  = 0
sync()                                  = 0
sync()                                  = 0
sync()                                  = 0
sync()                                  = 0
...

分析平均负载

        通过uptime命令提供的平均负载信息,我们可以得到系统整体的负载情况。如果平均负载数值超过了CPU核心数,这可能意味着系统过载。

        使用mpstat,我们可以深入了解每个CPU核心的使用情况,从而判断是否有核心过载或者空闲。pidstat则提供了进程级别的资源使用情况,帮助我们找出是哪些进程导致了高负载。更近一步的,可以使用strace命令查看查看指定进程在进行哪些系统调用

        所以结合mpstat、pidstat、ps、strace这些工具,我们可以全面分析系统的性能瓶颈,并采取相应的优化措施,从此再也不用慌了~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子行业除镍树脂深度出水0.02ppm

项目名称 电子行业贴片电容废水除镍项目 工艺选择 两级串联运行 工艺原理 亚氨基二乙酸和重金属离子通过螯合作用形成稳定的配位键,实现选择性吸附重金属 项目背景 贴片电容,也被称为多层片式陶瓷电容器(MLCC),…

SQL Server Management Studio创建数据表

文章目录 一、建表注意事项1.1 数据类型1.2 建立数据表的基本SQL语法 二、实例说明2.1 创建数据表2.2 实例2 三、标识列和主键示例: 一、建表注意事项 1.1 数据类型 可以看这个去了解数据类型: 1.2 建立数据表的基本SQL语法 建立数据表的基本 SQL 语…

UDS诊断(ISO14229-1) 36服务

文章目录 功能简介应用场景请求和响应1、请求2、子功能3、肯定响应4、否定响应 NRC 判断优先级顺序报文示例1、下载数据到服务器 UDS中常用 NRC 功能简介 36服务,即 TransferData(传输数据)服务,客户端利用 TransferData&#xf…

十、Qt 操作PDF文件

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计》 《九、Qt …

数学建模.皮尔逊相关系数

一.前言 皮尔逊相关系数说白了就是一次函数中的斜率k,反应两个变量之间的关系,与斜率不同的地方在于其数值在1和-1之间,越接近于1,则说明两个变量之间是完全正向的线性关系;越接近于-1,说明两个变量之间是完…

RTMP对接腾讯云问题记录

RTMP对接腾讯云问题分析报告 问题现象及原因分析 1. 连不上腾讯云RTMP服务器 连不上腾讯云RTMP服务器,抓包显示服务器在握手完成后,主动断开了当前TCP链接。问题原因可能是connect中的tcUrl不能把域名转为IP,导致在握手不久服务器主动断开…

yum仓库详解(命令+搭建)

目录 一、初步了解yum 1、yum简介 2、yum实现过程 二、yum配置文件及命令 1、 yum配置文件 1.1 主配置文件 1.2 仓库设置文件 1.3 日志文件 2、yum命令详解 三、搭建仓库的方法 1、搭建本地yum仓库 2、搭建阿里云仓库(http方式外网环境) 3、f…

CSDN 年度总结|知识改变命运,学习成就未来

欢迎来到英杰社区: https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区: https://bbs.csdn.net/topics/617897397 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步&#xff…

目标检测开源数据集——道路坑洼

一、危害 对车辆的影响:道路坑洼会导致车辆行驶不稳,增加车辆的颠簸,不仅影响乘坐舒适度,还可能对车辆的悬挂系统、轮胎等造成损害。长期在坑洼路面上行驶,车辆的减震系统、悬挂系统等关键部件容易受损,进…

C语言第一弹---C语言基本概念(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 C语言基本概念 1、C语言是什么?2、C语言的历史和辉煌3、编译器的选择VS20223.1、编译和链接3.2、编译器对比3.3、VS2022优缺点 4、VS项目和源文件、头…

IDEA 在本地启动多个 SpringBoot 后端服务模拟集群

目录 方式一:使用 IDEA 界面在多个后端端口运行同一个项目 方式二:通过控制台在运行项目 jar 包时传入端口配置 方式一:使用 IDEA 界面在多个后端端口运行同一个项目 1. 点击 Run / Debug 在默认端口启动项目 2. 点击 Services&#xff0…

Android中的SPI实现

Android中的SPI实现 SPI是JVM世界中的标准API,但在Android应用程序中并不常用。然而,它可以非常有用地实现插件架构。让我们探讨一下如何在Android中利用SPI。 问题 在Android中,不同的提供者为推送功能提供服务,而在大型项目中…

『C++成长记』内存管理

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、C/C内存分布 二、内存管理方式 📒2.1C语言内存管理方式 &#x…

vue2使用 element表格展开功能渲染子表格

默认样式 修改后 样式2 <el-table :data"needDataFollow" border style"width: 100%"><el-table-column align"center" label"序号" type"index" width"80" /><el-table-column align"cent…

CTF CRYPTO 密码学-3

题目名称&#xff1a;反编译 题目描述&#xff1a; 分析 题目给出一个pyc后缀的文件&#xff0c;需要使用uncompyle6模块去还原成py文件 uncompyle6简介 uncompyle6 是一个 Python 反编译器&#xff0c;它能够将 Python 字节码&#xff08;.pyc 文件&#xff09;转换回源代码&…

定制键盘设计

方案1 stm32方案 参考 智辉君的键盘 方案2 沁恒方案 CH9328与ch9329区别&#xff1a;一个是单向&#xff0c;一个是双向。 ch9329是ch9328的升级款。 原理篇4、CH9328使用-CSDN博客https://blog.csdn.net/qq_44817843/article/details/112124822

容器部署的nextcloud配置onlyoffice时开启密钥

容器部署的nextcloud配置onlyoffice时开启密钥 配置 进入onlyoffice容器 docker exec -it 容器id bash编辑配置vi /etc/onlyoffice/documentserver/local.json enable设置为true&#xff0c;并配置secret 重启容器&#xff0c;并将配置的密钥填入nextcloud密钥页面 docker r…

力扣hot100 零钱兑换 背包 滚动数组

Problem: 322. 零钱兑换 文章目录 &#x1f388; 思路&#x1f496; Code &#x1f388; 思路 &#x1f468;‍&#x1f3eb; 大佬题解 &#x1f496; Code ⏰ 时间复杂度: O ( n ) O(n) O(n) class Solution {public int coinChange(int[] coins, int amount){int INF …

「爱下馆子」真的会寿命更短吗?

​“爱下馆子”真的会寿命更短吗&#xff1f; 随着现代生活节奏的加快&#xff0c;越来越多的人选择在外就餐&#xff0c;也就是我们常说的“下馆子”。然而&#xff0c;最近的一项研究发现&#xff0c;每天至少两顿在外就餐的人&#xff0c;全因死亡率增加了49%。这一发现引发…

Python图像处理【18】边缘检测详解

边缘检测详解 0. 前言1. 图像导数2. LoG/zero-crossing2.1 Marr-Hildteth 算法 3. Canny 与 holistically-nested 算法3.1 Canny 边缘检测3.2 holistically-nested 边缘检测 小结系列链接 0. 前言 边缘是图像中两个区域之间具有相对不同灰级特性的边界&#xff0c;或者说是亮度…