CPU平均负载率之stress模拟CPU密集型进程
一、对CPU密集型进程进行模拟,具体如下:
第一个终端
在第一个终端运行 stress 命令,模拟一个 CPU 使用率 100% 的场景:stress --cpu 1 -- timeout 600

第二个终端
运行 uptime 查看系统平均负载情况,watch -d 参数表示高亮显示变化的区域:watch -d uptime

1 分钟的平均负载会慢慢增加到 1以上。
第三个终端
运行 mpstat 查看 CPU 使用率的变化情况:mpstat -P ALL 5 (-P ALL 表示监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据)

仅有一个 CPU 的使用率接近 100%,但它的 iowait 只有 0,这说明,平均负载的升高正是由于 CPU 使用率为 100%。
二、分析具体导致CPU使用率这么高的进程
通过模拟,我们知道导致CPU使用率这么高的进程就是stress,但是在实际生产中就得通过pidstat工具进行查询了。下面就利用该工具进行查询过程的解析:
首先简述下pidstat的选项功能:
# pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ]
# -u:默认的参数,显示各个进程的cpu使用统计
# -r:显示各个进程的内存使用统计
# -d:显示各个进程的IO使用情况
# -p:指定进程号
# -w:显示每个进程的上下文切换情况
# -t:显示选择任务的线程的统计信息外的额外信息
详细功能通过man pidstat可以查阅:

本案例中使用pidstat 5 1

通过上图可以分析出CPU使用%98以上的是pid=5870的命令stress。
综合上述,通过sysstat工具集,可以明确分析出CPU密集型进程导致CPU平均负载率处于高水位线的“罪魁祸首”。 同理操作可以分析出其他类型导致CPU平均负载率高的进程。如下模拟大量进程导致的CPU平均负载率过高:
首先查看CPU个数:lscpu

第一个终端:stress -c 8 --timeout 600

第二个终端:watch -d uptime

第三个终端:pidstat -u 5 1

可以看出,8 个进程在争抢 2 个 CPU,每个进程等待CPU 的时间(也就是代码块中的 %wait 列)高达 75%这些超出 CPU 计算能力的进程,最终导致 CPU 过载。
CPU平均负载率之stress模拟CPU密集型进程的更多相关文章
- Linux-CPU优化之平均负载率
一.平均负载率定义 平均负载是指单位时间内,系统处于可运行状态 和不可中断状态 的平均进程数,也就是平均活跃进程数,它和CPU 使用率并没有直接关系. 可运行状态的进程:是指正在使用 CPU 或者正在 ...
- CPU优化之平均负载率之辅助工具
前面介绍了平均负载均衡的一些内容,那实际应用中如何查看,分析性能瓶颈呢?下面介绍相关的辅助工具. 一.stress stress是Linux 系统压力测试工具,其通过异常进程模拟平均负载升高的场景(前 ...
- CPU平均负载 load average
平均负载是指上一分钟同时处于就绪状态的平均进程数.在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数.如果CPU Load等于CPU个数乘以核数,那么就说CPU正好满负载,再多一点 ...
- 什么是CPU平均负载
所属分类:运维教程 平均负载是指上一分钟同时处于就绪状态的平均进程数.在CPU中可以理解为CPU可以并行处理的任务数量,就是CPU个数X核数.如果CPU Load等于CPU个数乘以核数,那么就说CPU ...
- uptime详解,最通俗的说明了cpu平均负载
今天又个网友问uptime的三个平均负载值具体要怎么理解,发现要自己解释还真不知道怎么表达~~~~,下面到网上找了篇文章给大家分享: uptime命令,有两大用处,一个是看您的机器的运行时间,另一 ...
- linux平均负载的理解及原因排查
当系统响应缓慢时,一般会用top或uptime命令查看系统负载是否过高. 例如输入uptime命令显示如下图,其中23:47:19表示现在的时间,up 260 days,14:39表示系统运行了多久, ...
- Linux性能优化从入门到实战:02 CPU篇:平均负载
每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令: $ uptime 22:22:17 up 2 days, 20:14, 1 user, load average: ...
- CPU使用率和平均负载
转载: https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247487782&idx=3&sn=3f04bb053d ...
- 理解 uptime 的:“平均负载”? 如何模拟测试
每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况.比如像下面这样,我在命令行里输入了 uptime 命令,系统也随即给出了结果. [root@ ...
随机推荐
- 【Android】安卓四大组件之Activity(一)
[Android]安卓四大组件之Activity(一) 前言 Activity是Android学习中的一个重要组件,想要对其进行系统的了解可以分为几块内容,这一大章节的内容是有关于activity之间 ...
- 【刷题-LeetCode】216. Combination Sum III
Combination Sum III Find all possible combinations of k numbers that add up to a number n, given tha ...
- 【VictoriaMetrics】vm单机版和vm-storage的查询功能的对比
1.vm-storage源码调用表 文件 行号 函数 说明 app/vmstorage/main.go 53 main 入口94行调用srv.RunVMSelect() app/vmstorage/t ...
- 【记录一个问题】铁威马NAS存储中的python3,安装后找不到xml这个包
如题 因为找不到xml,所以无法安装setuptools 因为无法安装setuptools,所以无法安装pip3 现在准备重新下载python3的源码自己编译. 铁威马的系统中还缺少libm这个库,导 ...
- 阐述JDBC操作数据库的步骤
1. 加载驱动. Class.forName("oracle.jdbc.driver.OracleDriver"); (注意:加载驱动在JDBC 4.0中是可以省略的,自动从类路径 ...
- 主键约束(primary key 简称PK)
7.5.主键约束 主键约束相关术语 主键约束 主键字段:字段添加了主键约束,叫主键字段 主键值:主键字段中的每个值都叫主键值 什么是主键? 主键值是每一行记录的唯一标识(主键值是每一行记录的身份证号) ...
- java-包与包之间的访问
1 package face_package; 2 3 import face_packagedemoA.DemoA; 4 5 /* 包(package) 6 * 1,对类文件进行分类管理. 7 * ...
- DNS主从同步部署
DNS 主从同步原理 主从同步:主每次修改配置文件需要修改一下序列号,主从同步主要 根据序列号的变化. 从DNS:从可以单独修改,主从不会报错.但从修改后,主端同步给从后 从端修改数据会丢失 主从原理 ...
- linux不使用useradd添加新用户
不使用useradd创建新的用户 1.进入用户特征信息:/etc/passwd 编辑: vim /etc/passwd 命令模式 :G 进入末行 进入编辑模式 :在最后添加新用户信息: 例:new_u ...
- JavaCV的摄像头实战之四:抓图
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...