| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> CPU分析系列--sysstat分析系统负载 -> 正文阅读 |
|
[开发测试]CPU分析系列--sysstat分析系统负载 |
目录 pidstat:关于运行中的进程/任务、CPU、内存等的统计信息; ? ? ? ? 1.stress --cpu 1 --timeout 600:模拟对1个cpu增加压力,持续600s; ? ? ? ? 2.查看系统负载情况:watch -d uptime: ????????3. 监控所有cpu情况:mpstat -P ALL 5:每5s更新一组数据; ?????????4.查看运行中的所有进程的cpu使用情况:pidstat -u 5 1: ? ? ? ? 5.找到原因:是因为stress进程产生压力过大.? ????????1.产生压力:stress -d 1 -t 600: ?????????2.查看系统负载情况:watch -d uptime ???????3.查看各进程对cpu的使用情况:pidstat -u 1 ???????4.查看系统cpu的总体使用情况:mpstat -P ALL 5 ?????????5.查看是哪个进程I/O读写高:pidstat -d 1 3(-d参数查看各进程io情况) ? ? ? ? cpu使用率是单位时间内cpu繁忙情况的统计,跟系统平均负载不一定完全对应: ? ? ? ? 1.cpu密集型进程,使用大量cpu,会导致平均负载升高,此时cpu%和load average可对应关系; ? ? ? ? 2.I/O密集型进程,等待I/O也会导致load average升高,但cpu%使用率不一定高. ? ? ? ? 3.系统中存在大量等待cpu调度的进程,会使load average平均负载和cpu使用率都升高.
stress是Linux下的一个压力测试工具,可以对cpu、memory、IO以及磁盘进行压力测试,可以指定负载的cpu个数.
安装stress:yum install -y stress. 安装:yum install -y sysstat. mpstat:关于CPU的详细信息,单独输出或者分组输出;pidstat:关于运行中的进程/任务、CPU、内存等的统计信息;
1.模拟cpu密集型负载:? ? ? ? 1.stress --cpu 1 --timeout 600:模拟对1个cpu增加压力,持续600s;? ? ? ? 2.查看系统负载情况:watch -d uptime:????????????????初始信息: ??????????????????产生压力后系统平均负载信息: ????????????????因为此处只模拟对1个cpu施压,1分钟内平均负载为1,说明系统此时过载. ????????3. 监控所有cpu情况:mpstat -P ALL 5:每5s更新一组数据;????????????????初始信息: ?????????????????产生压力后信息: ?????????4.查看运行中的所有进程的cpu使用情况:pidstat -u 5 1:? ? ? ? ? ? ? ? ? ? ? ? 每5s更新1次,只更新1次 ????????????????????????初始信息: ??????????????????????????产生压力后信息:显示用户态进程stress对cpu使用率为100%. ? ? ? ? 5.找到原因:是因为stress进程产生压力过大.??_____________________________________________________________________________ 2.模拟I/O密集型负载:????????1.产生压力:stress -d 1 -t 600:????????????????模拟1个进程对disk做I/O操作,持续600s. ?????????2.查看系统负载情况:watch -d uptime????????????????显示最近1分钟系统过载(2cpu-->2.87) ?排查: ???????3.查看各进程对cpu的使用情况:pidstat -u 1????????????????显示未占用过多cpu调度 ???????4.查看系统cpu的总体使用情况:mpstat -P ALL 5????????????????显示cpu使用率低,但是%iowait高,表示cpu等待I/O读写进程,说明系统正在进行I/O操作. ?????????5.查看是哪个进程I/O读写高:pidstat -d 1 3(-d参数查看各进程io情况)????????????????此处可以看到是stress进程I/O高. _____________________________________________________________________________ 3.总结:? ? ? ? cpu使用率是单位时间内cpu繁忙情况的统计,跟系统平均负载不一定完全对应:? ? ? ? 1.cpu密集型进程,使用大量cpu,会导致平均负载升高,此时cpu%和load average可对应关系;? ? ? ? 2.I/O密集型进程,等待I/O也会导致load average升高,但cpu%使用率不一定高.? ? ? ? 3.系统中存在大量等待cpu调度的进程,会使load average平均负载和cpu使用率都升高. |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:37:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |