深入研究Linux性能优化:pidstat+mpstat揭秘

 记录一下以前操作Linux服务器时关于CPU操作指令的相关知识点,其实这些在实际生产中很少用到,使用时忘记后翻看回忆一下资料即可,这边记录了常用指令,有助于快速找到对自己有用的内容。

sysstat 工具包的命令 mpstat+pidstat

全局命令——mpstat

  • 命令说明:全称 Multiprocessor Statistics,多核 CPU 性能分析程序,实时查看每个 CPU 的性能指标和全部 CPU 的平均性能指标

  • 使用场景:当系统变慢,CPU平均负载增大时,判断是CPU的使用率增大,还是IO压力增大的情况导致

  • 命令格式:mpstat [-P {|ALL}] [ <时间间隔> ] [ <次数> ] 比如 mpstat -P ALL 2 3 每隔2秒出一个报告数据,共出具3次

  • 命令参数说明:

    参数说明
    -P指定监控哪个CPU,范围是[ 0 ~ (N-1)], ALL表示监控所有CPU都监控
    internal两次采样的间隔时间
    count总采样次数
  • 显示信息(参数很多,记住二八原则,工作中80%都是在用那20%的命令)

mpstat -P all

 

字段说明
CPU全部CPU 和 某个CPU,从0开始。 下面每一行项加起来就是100%
%usr用户态所使用 CPU时间的百分比,CPU使用率
%nicenice值为负进程的CPU时间,即使用 nice 命令对进程进行降级时 CPU 的百分比
%sys内核态所使用 CPU时间的百分比,CPU使用率
%iowaitCPU 在等待 I/O 操作完成所消耗的时间,高表示可能 I/O 存在瓶颈
%irq用于硬中断的 CPU 百分比
%soft用于软中断的 CPU 百分比
%steal虚拟机强制CPU 等待的时间百分比(基本很少关注)
%guest虚拟机占用CPU时间的百分比(基本很少关注)
%gniceCPU运行niced guest虚拟机所花费的时间百分比(基本很少关注)
%idleCPU空闲且系统没有未完成的磁盘I/O请求的时间百分比; CPU使用率低,iowait高,idle低的话可能是等待IO

 局部命令——pidstat

  • 实时查看进程的 CPU、内存、I/O 、上下文切换等指标

  • 格式 pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ] 比如 pidstat -u 2 3每隔2秒出一个报告数据,一共出具3次

  • 输出排序 pidstat -u | sort -k 8 -r

    • sort 排序

    • 指定排序用哪一列,下面的例子中是第8列:%CPU

    • -r : 倒序

  • 命名参数说明

参数说明
-u默认的参数,显示各个进程的cpu使用统计,监控cpu,pidstat 和 pidstat -u -p ALL 是等效的
-r显示各个进程的内存使用统计,监控内存
-d显示各个进程的IO使用情况,监控硬盘
-p指定进程号,比如 pidstat -p 5
-w显示每个进程的上下文切换情况
-t显示选择任务的线程的统计信息外的额外信息
pidstat

字段说明
PID进程ID
%usr进程在用户态所使用 CPU时间的百分比,CPU使用率
%system进程在内核态所使用 CPU时间的百分比,CPU使用率
%guest进程在虚拟机占用cpu的百分比(基本很少关注)
%wait进程等待cpu 的时间百分比, 进程处于就绪队列中的状态等待CPU调度运行的百分比【新版才有】
%CPU进程占用cpu的百分比,和top命令一样 等于 用户态CPU+内核态 CPU,如果要区分cpu哪个态多则用pidstat,不包括 %wait
CPU处理进程的cpu编号
Command当前进程对应的命令

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值