1. dstat
系统默认为安装,直接安装阿里源后,yum install -y dstat安装即可,该命令整合了 vmstat , iostat 和 ifstat,我们先看下效果:

我们先看看具体参数:
[root@k8s-master ~]# dstat --help
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statisticsDstat options:-c, --cpu              enable cpu stats-C 0,3,total           include cpu0, cpu3 and total-d, --disk             enable disk stats-D total,hda           include hda and total-g, --page             enable page stats-i, --int              enable interrupt stats-I 5,eth2              include int5 and interrupt used by eth2-l, --load             enable load stats-m, --mem              enable memory stats-n, --net              enable network stats-N eth1,total          include eth1 and total-p, --proc             enable process stats-r, --io               enable io stats (I/O requests completed)-s, --swap             enable swap stats-S swap1,total         include swap1 and total-t, --time             enable time/date output-T, --epoch            enable time counter (seconds since epoch)-y, --sys              enable system stats--aio                  enable aio stats--fs, --filesystem     enable fs stats--ipc                  enable ipc stats--lock                 enable lock stats--raw                  enable raw stats--socket               enable socket stats--tcp                  enable tcp stats--udp                  enable udp stats--unix                 enable unix stats--vm                   enable vm stats--plugin-name          enable plugins by plugin name (see manual)--list                 list all available plugins-a, --all              equals -cdngy (default)-f, --full             automatically expand -C, -D, -I, -N and -S lists-v, --vmstat           equals -pmgdsc -D total--bits                 force bits for values expressed in bytes--float                force float values on screen--integer              force integer values on screen--bw, --blackonwhite   change colors for white background terminal--nocolor              disable colors (implies --noupdate)--noheaders            disable repetitive headers--noupdate             disable intermediate updates--output file          write CSV output to file--profile              show profiling statistics when exiting dstat也可以直接用man dstat查看,比较多就不粘贴了
我们挑些常用的参数来说:
| -l | 显示负载统计量 | 
| -m | 显示内存使用率 | 
| -r | 显示I/O统计 | 
| -s | 显示交换分区使用情况 | 
| -t | 将当前时间排在第一行 | 
| -fs | 显示文件系统统计数据(包括文件总数量和inodes值) | 
| -nocolor | 不显示颜色 | 
| -socket | 显示网络统计数据 | 
| -tcp | 显示常用的TCP统计 | 
| –udp | 显示监听的UDP接口及其当前用量的一些动态数据 | 
常见的使用方法:
| -–disk-util | 显示某一时间磁盘的忙碌状况 | 
| -–freespace | 显示当前磁盘空间使用率 | 
| -–proc-count | 显示正在运行的程序数量 | 
| -–top-bio | 指出块I/O最大的进程 | 
| -–top-cpu | 图形化显示CPU占用最大的进程 | 
| -–top-io | 显示正常I/O最大的进程 | 
| -–top-mem | 显示占用最多内存的进程 | 
直接使用dstat,后面默认的参数为-cdngy,分别显示cpu、disk、net、page、system信息,默认每1s显示一条。
dstat 10是每隔10s显示一条
dstat 10 10 每隔10s显示一条,总共显示10条
我们来看对之前截图进行信息解读下:

usr:用户空间的程序所占用CPU的百分比
sys:系统空间的程序所占用CPU的百分比
idl:CPU空闲百分比
wai:等待磁盘I/O消耗的百分比
hiq:硬中断次数
siq:软中断次数

read:磁盘读取总数
writ:磁盘写入总数

recv:网络收包总数
send:网络发包总数

in: pagein(换入)
out:page out(换出)

int:中断次数
csw:上下文切换
2.dstat示例
dstat --top-mem --top-io --top-cpu 可以查看系统占用内存最大,占用磁盘I/O最高,占用CPU使用率最高的进程,最常用的就是这个,方便查看系统性能瓶颈
[root@k8s-master ~]# dstat --top-mem --top-io --top-cpu
--most-expensive- ----most-expensive---- -most-expensive-memory process |     i/o process      |  cpu process   
kube-apiserv 282M|systemd     141k  162k|kube-apiserve2.4
kube-apiserv 282M|kubelet      35k  750B|kube-apiserve2.0
kube-apiserv 282M|kubelet     125k 2606B|kube-apiserve2.0
kube-apiserv 282M|etcd       1992B   50k|kube-apiserve2.5
kube-apiserv 282M|kubelet      47k  917B|kube-controll1.5
kube-apiserv 282M|kube-apiser5936B   60k|kube-apiserve2.5
kube-apiserv 282M|kubelet      81k  959B|kubelet      3.0
kube-apiserv 282M|udisksd     495k 2776B|kube-apiserve2.5
kube-apiserv 282M|kubelet      72k 1375B|kube-apiserve2.5
kube-apiserv 282M|kubelet      52k  943B|kube-apiserve2.5
kube-apiserv 282M|kubelet      48k 2209B|kube-apiserve2.5
kube-apiserv 282M|udisksd     248k 1388B|kube-apiserve2.5
kube-apiserv 282M|kubelet     125k 2659B|kube-apiserve2.5