- 🤔 目录 🍟 -
Dstat - 实时监控 Linux 服务器性能资源
使用 Dstat 来实时监控 Linux 服务器性能资源教程

前言

个人觉得非常强大的一个 Linux Server 性能监控工具

CentOS / RedHat / Fedora

执行如下命令进行安装:

yum install dstat -y
Ubuntu / Debian

执行如下命令进行安装:

apt-get install dstat -y
命令详解
-c, --cpu              显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息
   -C 0,3,total           当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息
-d, --disk             显示磁盘读写数据大小
   -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             显示负载统计量
-m, --mem              显示内存使用率(包括used,buffer,cache,free值)
-n, --net              显示网络状态
   -N eth1,total          include eth1 and total
-p, --proc             显示进程状态
-r, --io               I/O 请求情况
-s, --swap             显示交换分区使用情况
   -S swap1,total         include swap1 and total
-t, --time             将当前时间显示在第一行
-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               显示网络统计数据
--tcp                  显示常用的 TCP 统计
--udp                  显示监听的 UDP 接口及其当前用量的一些动态数据
--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              不显示颜色
--noheaders            disable repetitive headers
--noupdate             disable intermediate updates
--output file          把状态信息以 csv 的格式重定向到指定的文件中
--profile              show profiling statistics when exiting dstat

举个例子:

查看内存都有谁在占用:

dstat -g -l -m -s --top-mem

---paging-- ---load-avg--- ------memory-usage----- ----swap--- --most-expensive-
  in   out | 1m   5m  15m | used  buff  cach  free| used  free|  memory process
  10B  320B|   0 0.04 0.09|12.6G  271M  516M  207M| 241M 7951M|java        2000M
   0     0 |   0 0.04 0.09|12.6G  271M  516M  206M| 241M 7951M|java        2000M
   0     0 |   0 0.04 0.09|12.6G  271M  516M  206M| 241M 7951M|java        2000M
   0     0 |   0 0.04 0.09|12.6G  271M  516M  206M| 241M 7951M|java        2000M

显示关于CPU资源损耗的数据:

dstat -c -y -l --proc-count --top-cpu

----total-cpu-usage---- ---system-- ---load-avg--- proc -most-expensive-
usr sys idl wai hiq siq| int   csw | 1m   5m  15m |tota|  cpu process
  1   1  98   0   0   0|1668  1710 |0.01 0.04 0.09| 123|mysqld       0.1
  1   1  98   0   0   0|1663  1697 |0.01 0.04 0.09| 124|mysqld       0.2
  1   1  99   0   0   0|1520  1584 |0.01 0.04 0.09| 124|java         0.2
  1   1  98   0   0   0|1638  1675 |0.01 0.04 0.09| 124|java         0.2

输出一个 csv 格式的文件用于以后查看:

dstat --time --cpu --mem --load --output report.csv 1 5 

监控 swap,process,sockets,filesystem 并显示监控的时间:

dstat -tsp --socket --fs

----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
     time     | used  free|run blk new|tot tcp udp raw frg|files  inodes
29-05 18:02:22| 241M 7951M|  0   0  14|  1   6   0   0   0| 2592    333k
29-05 18:02:23| 241M 7951M|  0   0  26|  1   6   0   0   0| 2624    334k
29-05 18:02:24| 241M 7951M|  0   0  15|  1   6   0   0   0| 2624    334k
29-05 18:02:25| 241M 7951M|  0   0  15|  1   6   0   0   0| 2688    334k

查看4颗核心,每颗核心的使用情况和CPU使用情况:

dstat -cl -C 0,1,2,3 --top-cpu

-------cpu0-usage--------------cpu1-usage--------------cpu2-usage--------------cpu3-usage------ ---load-avg--- -most-expensive-
usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq| 1m   5m  15m |  cpu process
  1   1  99   0   0   0:  1   1  98   0   0   0:  1   1  99   0   0   0:  1   1  98   0   0   0|0.07 0.04 0.11|mysqld       0.1
  1   1  98   0   0   0:  0   1  99   0   0   0:  1   2  97   0   0   0:  1   1  98   0   0   0|0.06 0.04 0.11|java         0.2
  0   1  99   0   0   0:  0   0 100   0   0   0:  1   1  98   0   0   0:  0   0 100   0   0   0|0.06 0.04 0.11|java         0.2
  1   1  98   0   0   0:  1   1  98   0   0   0:  1   1  98   0   0   0:  1   2  97   0   0   0|0.06 0.04 0.11|docker-contai0.2
  0   0 100   0   0   0:  0   1  99   0   0   0:  1   1  98   0   0   0:  0   0 100   0   0   0|0.06 0.04 0.11|
  0   1  99   0   0   0:  0   1  99   0   0   0:  1   1  98   0   0   0:  1   1  98   0   0   0|0.06 0.04 0.11|java         0.2
  1   1  98   0   0   0:  1   1  98   0   0   0:  1   2  97   0   0   0:  0   1  99   0   0   0|0.06 0.04 0.11|java         0.2
  1   1  98   0   0   0:  1   1  98   0   0   0:  1   1  98   0   0   0:  0   1  99   0   0   0|0.06 0.04 0.11|
  0   1  99   0   0   0:  0   1  99   0   0   0:  2   1  97   0   0   0:  1   0  99   0   0   0|0.06 0.04 0.11|java         0.2
  1   2  97   0   0   0:  0   0 100   0   0   0:  1   3  96   0   0   0:  0   1  99   0   0   0|0.06 0.04 0.11|java         0.5

最后修改于 2019-05-29

此篇文章的评论功能已经停用。