Dstat - 实时监控 Linux 服务器性能资源

前言

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

CentOS / RedHat / Fedora

执行如下命令进行安装:

1
yum install dstat -y
Ubuntu / Debian

执行如下命令进行安装:

1
apt-get install dstat -y
命令详解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
-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

举个例子:

查看内存都有谁在占用:

1
2
3
4
5
6
7
8
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资源损耗的数据:

1
2
3
4
5
6
7
8
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 格式的文件用于以后查看:

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

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

1
2
3
4
5
6
7
8
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使用情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
----本文结束 感谢您的阅读----