linux命令:mpstat、vmstat、pidstat、iostat、iotop

发布于:2022-07-17 ⋅ 阅读:(332) ⋅ 点赞:(0)

mpstat

mpstat主要用在当系统变慢,如ssh过去输入命令特别卡,平均负载增大时,我们想判断到底是CPU的使用率增大了,还是IO压力增大的情况。用于分析多CPU的平均负载高的原因,计算机密集导致平均负载高,IO导致平均负载高,等待CPU调度导致平均负载高,搭配其他命令一起分析系统问题

格式:mpstat   [选线]   [参数]  [i nternal] [count]

-P:指定要监控哪个CPU,范围是[0~n-1],ALL表示监控所有CPU

internal:相邻两次采样的间隔时间

count:采样次数

%user    表示用户所使用CPU的百分比

%nice    表示使用nice命令对进程进行降级时CPU的百分比

%sys    表示内核进程使用的CPU百分比

%iowait    表示等待进行I/O所使用的CPU时间百分比

%irq    表示用于处理系统中断的CPU百分比

%soft    表示用于软件中断的CPU百分比

%steal    虚拟机强制CPU等待的时间百分比

%guest    虚拟机占用CPU时间的百分比

%idle    CPU的空闲时间的百分比

vmstat

vmstat可用给定时间间隔的服务器的状态值包括CPU的使用率,内存使用,虚拟内存交换情况,IO读写情况。可用查看整机的各个参数使用情况。

格式:vmstat [选项]  [刷新延时   刷新次数]

 procs    

r(运行队列):等待运行的进程数,数量越大,系统越繁忙

b(进程阻塞):不可被唤醒的进程数量,数量越大系统越繁忙

memory    

swap:虚拟内存的使用情况,大于0说明你物理内存不足了

free:空闲的物理内存容量

buff:缓冲的内存容量

cache:缓存的内存容量

swap    

si:从磁盘中交换到内存中数据的数量

so:从内存中交换到磁盘中数据的数量

这两个数越大,表明需要经常在磁盘和内存之间进行交换,系统性能越差

io    

bi:从块设备中读入的数据的总量,单位为块

bo:写入块设备的数据的总量,单位为块

这两个值越大,表示系统的I/O越繁忙 

system

in:每秒被中断的进程次数

cs:每秒进行的时间切换次数

这两个值越大,代表系统与接口设备的通信越繁忙

CPU   

us:非内核进程消耗CPU运算时间的百分比

sy:内核进程消耗CPU运算时间额百分比

id:空闲CPU的百分比

wa:等待I/O所消耗的CPU百分比

st:被虚拟机盗用的CPU资源
 

pidstat

pidstat可用于监控全部或指定进程的CPU、内存、IO等系统资源的占用情况

与vmstat可用查询的资源相似,但是相对对于某一个进程进行监控的话,vmstat多少有点吃力,但是pidstat可用很轻松的完成,所以可用根据使用场景,来使用资源监控工具

pidstat [选项] [时间间隔   刷新次数]    #如果没有刷新次数就会按时间间隔一直刷新

-u:默认参数,显示各个进程的使用统计

-r:显示各个进程的内存使用情况

-d:显示各个进程的IO使用情况

-p:指定进程号

-w:显示每个进程的上下切换

-t:显示选择任务的线程的统计信息的额外信息

-T{TASK | CHILD | ALL}:TASK表示独立的task(进程任务),CHILD关键字表示报告进程下所有线程统计信息,ALL表示报告独立的task和task下面的所有进程(注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。

-I:在SMP环境,表示任务的CPU使用率/内核数量

 PID:进程ID

%usr:进程在用户空间占用CPU的百分比

%system:进程在内核空间占用CPU的百分比

%guest:进程在虚拟机占用的CPU的百分比

%CPU:进程占用的CPU的百分比

CPU:处理进程的CPU编号

Command:进程对应的命令

iostat

iostat主要用于监控系统设备的IO负载情况,根据这个可用看出当前系统的写入和读取量,CPU负载和磁盘负载

iostat [选项] [时间间隔   次数 ]

-c:显示CPU使用情况

-d:显示磁盘使用情况

-N:显示磁盘阵列信息

-n:显示NFS使用情况

-k:以KB为单位显示

-m:以M为单位显示

-t:报告每秒向终端读取和写入的字符数和CPU的信息

-V:显示版本信息

-x:显示详细信息

-p:[磁盘]显示磁盘和分区的情况

%user:表示用户所使用CPU的百分比

%nice:表示使用nice命令对进程进行降级时CPU的百分比

%system:表示内核进程使用的CPU百分比

%iowait:表示等待进行I/O所使用的CPU时间百分比

%steal:虚拟机强制CPU等待的时间百分比

%idleCPU:的空闲时间的百分比

device:磁盘名称

tps:每秒钟发送到I/O请求数

Blk_read / s:每秒读取的块数

Blk_wrtn / s:每秒写入的块数

Blk_read:读入块的总数

Blk_wrtn:写入块的总数

iotop

用来监视磁盘io使用状况的top类工具,iotop具有于top相似的UI,里面主要显示pid、user、I/O、进程等信息

Total DISK READ:从磁盘中读取数据的总速率
Total DISK WRITE:从磁盘中写入数据的总速率
Actual DISK READ:从磁盘中读取数据的实际速率
Actulal DISK WRITE :从磁盘中写入数据的实际速率
TID:线程ID,按p可转换成进程ID
PRIO:优先级
USER:线程所有者
DISK READ:从磁盘中读取的速率
DISK WRITE:往磁盘里写入的速率
SWAPIN:swap交换百分比
IO>:IO等待所占用的百分比
COMMAND:进程命令

iotop  -n   表示n次数在刷新完次数后自动退出

iotop -d    表示在进入iotop后多久刷新一次

iotop -p  1  表示查看1进程和他下面线程的状态的状态

本文含有隐藏内容,请 开通VIP 后查看