首页   快速返回

linux监控利器dstat     所属分类 linux
多功能系统资源统计生成工具 versatile tool for generating system resource statistics
可以将结果保存到文件

Python实现


yum install dstat

dstat [-afv] [options..] [delay [count]]

默认显示  cpu disk net paging system 信息,一秒钟刷新一次

dstat 

dstat 5  
五秒钟刷新一次

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 


dstat -cmsdnlt
dstat -cmsdnlpt

dstat -cmsdnlptry --fs  5

-t 显示统计时时间
dstat -cmsdnl -D sda9 -N lo,etho 100 5

-c,--cpu   统计CPU状态,包括 user, system, idle(空闲等待时间百分比), wait(等待磁盘IO), hardware interrupt(硬件中断), software interrupt(软件中断)等;
-d, --disk 统计磁盘读写状态
-D total,sda 统计指定磁盘或汇总信息
-l, --load 统计系统负载情况,包括1分钟、5分钟、15分钟平均值
-m, --mem 统计系统物理内存使用情况,包括used, buffers, cache, free
-s, --swap 统计swap已使用和剩余量
-n, --net 统计网络使用情况,包括接收和发送数据
-N eth1,total  统计eth1接口汇总流量
-r, --io 统计I/O请求,包括读写请求
-p, --proc 统计进程信息,包括runnable、uninterruptible、new
-y, --sys 统计系统信息,包括中断、上下文切换
-t 显示统计时时间,对分析历史数据非常有用
--fs 统计文件打开数和inodes数

--output data.csv 

Procs

r:运行的和等待(CPU时间片)运行的进程数,这个值也可以判断是否需要增加CPU(长期大于1) 
b:处于不可中断状态的进程数,常见的情况是由IO引起的
Memory
swpd: 切换到交换内存上的内存(默认以KB为单位)。如果 swpd 的值不为0,或者还比较大,比如超过100M了,但是 si, so 的值长期为 0,这种情况可以不用担心,不影响系统性能。
free: 空闲的物理内存
buff: 作为buffer cache的内存,对块设备的读写进行缓冲
cache: 作为page cache的内存, 文件系统的cache。如果 cache 的值比较大,说明cache住的文件数多,如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。
Swap
si: 交换内存使用,由磁盘调入内存
so: 交换内存使用,由内存调入磁盘
内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响。磁盘IO和CPU资源都会被消耗。

磁盘IO
bi: 从块设备读入的数据总量(读磁盘) (KB/s)
bo: 写入到块设备的数据总理(写磁盘) (KB/s)
磁盘随机读写的时候,这2个 值越大(如超出1M),CPUIO等待的值也会越大

System
in: 每秒产生的中断次数
cs: 每秒产生的上下文切换次数

上面这2个值越大,会看到由内核消耗的CPU时间会越多

Cpu
usr: 用户进程消耗的CPU时间百分比
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50%,考虑优化程序算法或者进行加速 
sys: 内核进程消耗的CPU时间百分比 
sys 的值高时,说明系统内核消耗的CPU资源多,需要检查原因。

wai: IO等待消耗的CPU时间百分比
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量随机访问造成的,也可能是磁盘的带宽出现瓶颈(块操作)。
idl: CPU处在空闲状态时间百分比

找出占用资源最高的进程和用户
--top-(io|bio|cpu|cputime|cputime-avg|mem) 

dstat --top-mem --top-io --top-cpu
查看当前占用I/O、cpu、内存等最高的进程信息

上一篇     下一篇
linux系统性能分析工具sar总结

linux监控工具之nmon

简单小巧的linux监控工具saidar

学术界和工业界做研发的区别

非阿里的同学如何判断自己的级别

linux系统proc文件系统介绍