Cpu调优 mpstat 命令
目录
一、mpstat 命令
1、mpstat概述
2、下载mpstat软件包
2、mpstat的语法格式
3、mpstat命令的各列含义
4、平均负载信息
二、压力测试工具stress
1、工具简介
2、参数详解
3、下载压力测试工具
三、查看运行中的进程/任务、CPU、内存等的统计信息------pidstat
1、常用参数
四:实验
1、实验目的
2、压力测试查看CPU的使用率
2、模拟I/O负载
3、模拟大量进程场景
五、总结
一、mpstat 命令
1、mpstat概述
mpstat (multiprocessor state) 可以查看所有cpu的平均负载,也可以查看指定cpu的负载。所以mpstat其实就是主要查看CPU负载的一个工具。是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标。
2、下载mpstat软件包
它是Linux性能工具集sysstat中的一个工具,所以我们要装上sysstat,安装方法随不同的系统略有不同,sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如:CPU 使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行
CentOs 系统的安装方法
2、mpstat的语法格式
mpstat [-P {cpu|ALL}] [interval [count]]
mpstat命令参数
参数 | 描述 |
-P {cpu|ALL} |
指定要监控哪个CPU ,范围是 [0~n-1] ,ALL表示监控所有CPU都监控 |
internval |
相邻两次采样的间隔时间 |
count |
采样的次数,count只能和internval一起使用 |
示例
其中
第一部分:输出首先显示了所有CPU的合计指标,然后显示了每个CPU各项的指标。
第二部分:在结尾处显示所有CPU的平均值
3、mpstat命令的各列含义
显示参数 | 描述 |
CPU |
显示的是某个CPU 还是全部CPU all=全部 |
%usr |
表示用户所有使用的CPU百分比 |
%nice |
表示使用 nice 值的 CPU 的百分比。 |
%sys |
表示内核进程使用的 CPU 百分比。 |
%iowait |
表示等待进行 I/O 所使用的 CPU 时间百分比。 |
%irq |
表示用于处理系统中断的CPU百分比 |
%soft |
表示用于软件中断的CPU百分比 |
%steal |
虚拟机强制CPU等待的时间百分比 |
%guest |
虚拟机占用CPU时间的百分比 |
%gnice |
CPU运行niced guest虚拟机所花费的时间百分比 |
%idle |
CPU的空闲时间的百分比 |
mpstat主要用在当系统变慢,平均负载增大时,我们想判断到底是CPU的使用率增大了,还是IO压力增大的情况。
4、平均负载信息
当系统变慢,用top或uptime来了解系统的负载情况。
系统平均负载是指在特定时间间隔内运行队列中的平均进程数
如果单个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的
而最后三个数字呢,依次则是过去 1 分钟、5 分钟、15 分钟的平均负载(Load Average)。
17:44:22 up #当前系统时间16 min #系统运行时长2 users #当前登录用户个数
二、压力测试工具stress
1、工具简介
stress是Linux下的一个压力测试工具,可以对cpu、memory(内存)、IO以及磁盘进行压力测试,可以指定负载的cpu个数。
2、参数详解
-c | --cpu |
产生n个进程,每个进程都反复不停的计算随机数的平方根 |
-i | --io | 产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上 |
-m | -vm | 产生n个进程,每个进程不断分配和释放内存 |
-t | --timout | 在n秒后结束进程 |
-d | --hdd | 产生n个不断执行 write 和unlink函数的进程(创建文件、写入内容、删除文件) |
3、下载压力测试工具
[root@ly ~]# yum install -y epel-release
注:需要先下载所需要的依赖包否则直接下载stress软件包工具不成功
[root@ly ~]# yum install -y stress
三、查看运行中的进程/任务、CPU、内存等的统计信息------pidstat
pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标。
1、常用参数
-u |
默认的参数,显示各个进程的CPU使用统计 |
-r |
显示各个进程的内存使用统计 |
-d |
显示各个进程的IO使用情况 |
-p |
指定进程号 |
-w |
显示每个进程的上下文切换情况 |
-t |
显示选择任务的线程的统计信息外的额外信息 |
-V |
版本号 |
-h |
在一行上显示了所有活动,这样其他程序可以容易解析。 |
-I(大写) |
在SMP环境,表示任务的CPU使用率/内核数量 |
-l |
显示命令名和所有参数 |
四:实验
1、实验目的
采用stress压力测试工具,模拟CPU 负载的情况,高IO的情况,使用uptime查看平均负载,使用mpstat和pidstat工具,找出负载高的根源。
查看系统平均负载情况uptime
2、压力测试查看CPU的使用率
模拟cpu 负载
压力测试前,cpu的使用率
使用stress工具进行压力测试
[root@ly ~]# stress --cpu 2 --timeout 600进行压力测试 对2快cpu 进行增压 持续600s
产生压力后的信息:显示用户进程 stress对cpu的使用率为100% cpu占用率过高,cpu负载
[root@ly ~]# pidstat -u 5 查看运行中的进程和任务,每5秒刷新一次
查看运行中的进行和任务,stress对2快cpu使用率过高
找到原因:是因为stress进程产生的压力过大
解决问题
[root@ly ~]# kill -9 19768 杀死相应负载过大的进程,释放cpu负载
2、模拟I/O负载
使用stress工具进行压力测试
stress --io 10 --timeout 600进行压力测试,产生10个进程,持续600秒
-i : --io 产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上
[root@ly ~]# mpstat -P ALL 1 2
显示所有CPU统计的信息,表示每隔1秒,总共2次
注:使用stress无法模拟iowait升高,但sys(表示内核进程使用的 CPU 百分比。)升高。stress -i参数表示通过系统调用sync来模拟IO问题,但sync是刷新内存缓冲区数据到磁盘中,以确保同步。如果内存缓冲区内没多少数据,读写到磁盘中的数据也就不多,没法产生IO压力。使用SSD(固态硬盘)磁盘的环境中尤为明显,iowait一直为0,但因为大量系统调用,导致系统CPU使用率sys升高。
[root@ly ~]# stress --io 15 --hdd 15 --timeout 600s
-d : --hdd 产生n个不断执行 write 和unlink函数的进程(创建文件、写入内容、删除文件)-i : --io 产生n个进程,每个进程反复调用 将内存上的内容写到硬盘上
[root@ly ~]# mpstat -P ALL 1 2
Io 读写占用百分比过高
查看正在进行的进程pid号
找到异常原因
查看是哪个进程导致I/O读写过高
pidstat -d 1 3(-d参数查看各进程io情况)Stress 占用进程导致io读写过高
找到相应进程,将问题进程杀死
解决问题
杀死进程后,mpstat命令查看
3、模拟大量进程场景
当系统中运行进程超出 CPU 运行能力时,就会出现等待 CPU 的进程。比如,我们还是使用 stress,但这次模拟的是 20 个进程
由于系统只有 4个 CPU,因而,系统的 CPU 处于严重过载状态,平均负载高达 16.84
接着再运行 pidstat 来看一下进程的情况
[root@ly ~]# pidstat -u 1 2 #显示各个进程的CPU使用统计 每1秒刷新一次,总共执行2次
[root@ly ~]# mpstat -P ALL 1 2 #-P 查看所有cpu 间隔1秒,执行2次
可以通过平均负载知道cpu是处于负载的状况。
五、总结
cpu使用率是单位时间内cpu繁忙情况的统计,跟系统平均负载不一定完全对应,系统中存在大量等待cpu调度的进程,会使load average平均负载和cpu使用率都升高,mpstat的全称为Multiprocessor Statistics,是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标。
Cpu调优 mpstat 命令相关推荐
- CPU调优 mpstat命令
目录 一 mpstat命令 1.1 下载mpstat软件包 1.2 mpstat命令的含义 1.3 显示所有CPU的统计信息(4 3 表示每4秒运行一次,总共运行3次) 1.4 平均负载信息 二 压力 ...
- 系统调优--mpstat命令详解
文章目录 一.mpstat 1.1mpstat概述 1.2命令安装 1.3mpstat参数介绍 1.4平均负载查看 二.压力测试--stress 2.1stress 2.2命令包安装 2.3stres ...
- 【Android CPU 优化】Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )
文章目录 一.Android CPU 优化 二.CPU Profiler 工具 三.相关资源 一.Android CPU 优化 在 Android 中 , 出现 动画掉帧 , 页面切换白屏 , 卡顿 ...
- jvm监控调优常用命令
jvm监控调优常用命令 转载于:https://www.cnblogs.com/likun10579/p/6403324.html
- erlang的cpu调优
2019独角兽企业重金招聘Python工程师标准>>> 今天看了一下erlang的cpu调优和监控,参考: erlang 虚机CPU 占用高排查 The WhatsApp Archi ...
- JAVA 性能调优相关命令
线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基 ...
- 6 月直播 7 场全剧透。今天:飞腾CPU调优原理及方法 | 第 19 期
「龙蜥大讲堂」第 19 期直播来啦!本期龙蜥大讲堂直播邀请了龙蜥社区 Arm SIG 核心成员.飞腾软件技术专家李文成分享<飞腾平台软件调优方法>,快来扫码入群,预定前排小板凳观看直播吧! ...
- linux cpu intr s,mpstat命令(linux cpu监控工具)
mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有 ...
- Linux云计算架构-系统调优【CPU、IO、网络、内核参数调优】
文章目录 Linux云计算架构-系统调优[CPU.IO.网络.内核参数调优] 1. CPU调优 2. IO调优 3. 网络调优 3.1 网络冗余(主备模式) 3.2 负载均衡模式 4. 内核参数调优 ...
- 单核CPU, 1G内存,也能做JVM调优吗?
最近,笔者的技术群里有人问了一个有趣的技术话题:单核CPU, 1G内存的超低配机器,怎么做JVM调优? 这实际上是两个问题.单核CPU的超低配机器,怎么充分利用CPU?单核CPU, 1G内存的超低配机 ...
最新文章
- Linux常用命令汇总-cut
- 矩阵用jordan解决initial-value问题_矩阵与数值计算(6)——矩阵幂级数 sin A、cos A...
- zlggui菜单12864_lcddrive.h
- python—多线程之数据混乱问题
- 修改mysql数据库名方法_安全快速修改Mysql数据库名的5种方法
- AS3工程中的Loading的应用
- ---WebCam网络摄像头10 socket
- 手写实现Spring(IOC、DI),SpringMVC基础功能
- golang 切片 接口_如何理解Golang中的接口?
- 浅谈V8引擎中的垃圾回收机制
- Ping++ 支付接口对接
- 在Office 365中使用自助密码重置功能减轻管理员负担(一)功能简介
- python测试用例设计方法_设计测试用例的基本方法
- 在oracle中插入语句要求,oracle插入语句
- Data Center TCP (DCTCP)学习笔记
- 微信小程序:实现微信登录
- 动态yumbo的gif制作
- 予你45条古诗词,一读就觉得岁月静好....
- C++ 定义复数的加减乘除基本运算
- getActionCommand()用法
热门文章
- CSDN - markdown 编辑器模板
- 疯壳AI开源无人机SPI(六轴传感器数据获取)
- 服务器驱动文件丢失恢复教程,服务器驱动丢失。
- 手机扫码枪app,手机扫码,内容上电脑表格
- 上海计算机应用基础自考上机,上海市自学考试公共实践课程《计算机应用基础(实践)》上机考核大纲_自考资讯自考_自考报名_中国教育在线...
- 单设施选址-重心法-Matlab
- [OfficeExcel] 王佩丰老师OfficeExcel2010 7-10讲 函数 学习笔记
- vue + d3.js(v6) 绘制【树状图/思维导图】
- RFID定位技术在智能出入库中的应用--新导智能
- eNSP华为模拟器使用——(11)eNSP模拟无线AC和AP