linux命令之dstat
1.dstat介绍
linux命令dstat是用来实时显示系统中各个进程的资源占用情况
2.dstat用法
dstat [参数]
参数 | 说明 |
-c | 显示CPU的相关信息 |
-d | 显示磁盘的相关信息 |
-g | 显示page相关的统计数据 |
-m | 显示内存的相关统计数据 |
-n | 显示网络的相关统计数据 |
-p | 显示进程的相关统计数据 |
-r | 显示io请求的相关的统计数据 |
-s | 显示swap相关的统计数据 |
--tcp | 启用tcp相关的统计数据 |
--udp | 启用udp相关的统计数据 |
--raw | 启用raw相关的统计数据 |
--socket | 启用socket相关的统计数据 |
--top-cpu | 显示最占用cpu的进程 |
--top-io | 显示最占用io的进程 |
--top-mem | 显示最占用内存的进程 |
3.实例
3.1.显示dstat的帮助信息
命令:
dstat -h
[root@centos79 ~]# dstat -h
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 dstatdelay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)[root@centos79 ~]#
3.2.实时显示系统中各个进程的资源占用情况
命令:
dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw 3 1 91 4 0 0| 434k 34k| 0 0 | 0 0 | 539 876 1 1 99 0 0 0| 0 0 | 12k 13k| 0 0 | 403 748 0 1 99 0 0 0| 0 0 |2482B 2938B| 0 0 | 334 694 ^C
[root@centos79 ~]#
3.3.显示cpu的相关信息
命令:
dstat -c
[root@centos79 ~]# dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq3 1 91 4 0 00 1 99 0 0 00 0 100 0 0 01 0 99 0 0 1^C
[root@centos79 ~]#
3.4.显示内存的相关信息
命令:
dstat -m
[root@centos79 ~]# dstat -m
------memory-usage-----used buff cach free
7118M 1176k 1383M 1477M
7118M 1176k 1383M 1477M
7118M 1176k 1383M 1477M^C
[root@centos79 ~]#
3.5.显示page相关的统计数据
命令:
dstat -g
[root@centos79 ~]# dstat -g
---paging--in out 0 0 0 0 0 0 0 0 ^C
[root@centos79 ~]#
3.6.显示磁盘相关的统计数据
命令:
dstat -d
[root@centos79 ~]# dstat -d
-dsk/total-read writ415k 33k0 0 0 0 ^C
[root@centos79 ~]#
3.7.显示网络相关的统计数据
命令:
dstat -n
[root@centos79 ~]# dstat -n
-net/total-recv send0 0
1476B 1802B16k 16k
1476B 1754B
2482B 2746B^C
[root@centos79 ~]#
3.8.显示进程相关的统计数据
命令:
dstat -p
[root@centos79 ~]# dstat -p
---procs---
run blk new0 0 1.50 0 00 0 00 0 0^C
[root@centos79 ~]#
3.9.显示io请求相关的统计数据
命令:
dstat -r
[root@centos79 ~]# dstat -r
--io/total-read writ
10.2 2.04 0 0 0 0 0 0 ^C
[root@centos79 ~]#
3.10.显示swap相关的统计数据
命令:
dstat -s
[root@centos79 ~]# dstat -s
----swap---used free0 3072M0 3072M0 3072M0 3072M^C
[root@centos79 ~]#
3.11.启用tcp的统计数据
命令:
dstat --tcp
[root@centos79 ~]# dstat --tcp
----tcp-sockets----
lis act syn tim clo35 28 0 0 035 28 0 0 035 28 0 0 0^C
[root@centos79 ~]#
3.12.启用udp的统计数据
命令:
dstat --udp
[root@centos79 ~]# dstat --udp
--udp--
lis act10 010 010 010 0^C
[root@centos79 ~]#
3.13.启用raw的统计数据
命令:
dstat --raw
[root@centos79 ~]# dstat --raw
raw
raw0000^C
[root@centos79 ~]#
3.14.启用socket的统计数据
命令:
dstat --socket
[root@centos79 ~]# dstat --socket
------sockets------
tot tcp udp raw frg3 46 7 0 03 46 7 0 03 46 7 0 03 46 7 0 0^C
[root@centos79 ~]#
3.15.显示最占用 cpu 的进程
命令:
dstat --top-cpu
[root@centos79 ~]# dstat --top-cpu
-most-expensive-cpu process
java 1.4
java 1.0
node 0.5^C
[root@centos79 ~]#
3.16.显示最占用 io 的进程
命令:
dstat --top-io
[root@centos79 ~]# dstat --top-io
----most-expensive----i/o process
bash 278k 7109B
java 133k 932B
java 2806B 0
vmtoolsd 11k 0 ^C
[root@centos79 ~]#
3.17.显示最占用内存的进程
dstat --top-mem
[root@centos79 ~]# dstat --top-mem
--most-expensive-memory process
java 4535M
java 4535M
java 4535M^C
[root@centos79 ~]#