CPU平均负载率之stress模拟CPU密集型进程
2021/10/6 7:10:56
本文主要是介绍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平均负载率之stress模拟CPU密集型进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享