当前位置: 首页 > 工具软件 > dstat > 使用案例 >

Dstat 的使用

贺奕
2023-12-01

概述

  • 安装yum -y install dstat
  • dstat 命令如果不添加参数, 会默认添加-cdngy, 并会有提示You did not select any stats, using -cdngy by default.
  • 语法: dstat [-afv] [options..] [delay] [count]

参数

CPU

查看CPU使用率

  • -c, --cpu
    # 查看 cpu 使用率汇总信息
    [root@192-168-248-80 ~]# dstat -c
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      1   0  99   0   0   0
      1   0  98   0   0   0
    
    # 同上
    [root@192-168-248-80 ~]# dstat --cpu
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      1   0  99   0   0   0
      1   1  98   0   0   0
    
  • -C 1,3
    # 查看特定 cpu 使用率信息
    [root@192-168-248-80 ~]# dstat -c -C 1,3
    -------cpu1-usage--------------cpu3-usage------
    usr sys idl wai hiq siq:usr sys idl wai hiq siq
      1   0  99   0   0   0:  1   0  99   0   0   0
      1   2  97   0   0   0:  1   1  98   0   0   0
      
    # -C total, 等价于 -c 或 --cpu
    [root@192-168-248-80 ~]# dstat -cC total
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      1   0  99   0   0   0
      1   1  98   0   0   0
    

最大 cpu 进程

  • –top-cpu
    [root@192-168-248-80 ~]# dstat --top-cpu
    -most-expensive-
      cpu process   
    k3s agent    0.2
    java         0.2
    

Disk

查看 IO 数据量

  • -d, --disk
    # 查看磁盘读写汇总信息
    [root@192-168-248-80 ~]# dstat -d
    -dsk/total-
     read  writ
    4001B  131k
       0     0
    
  • -D sda,sdb
    # 查看特定磁盘读写信息
    [root@192-168-248-80 ~]# dstat -dD sda,sdb
    --dsk/sda-----dsk/sdb--
     read  writ: read  writ
    3894B   14k: 104B  117k
       0     0 :   0     0 
    

查看 IO 请求数

  • -r, --io
    [root@192-168-248-80 ~]# dstat -r
    --io/total-
     read  writ
    0.15  2.07 
       0     0 
    

查看磁盘 util

  • –disk-util
    # util 高则表示繁忙
    [root@192-168-248-80 ~]# dstat --disk-util
    sda--sdb-
    util:util
    0.41:0.04
       0:   0
    

查看 IO 最高的进程

  • –top-io
    [root@192-168-248-80 ~]# dstat --top-io
    ----most-expensive----
         i/o process      
    dockerd     507k  217k
    dockerd    1109k  360k
    

查看 块IO 最高的进程

  • –top-bio
    [root@192-168-248-80 ~]# dstat --top-bio
    ----most-expensive----
      block i/o process   
    dockerd       1B   54k
    java          0  8192B
    

Memory & swap

查看内存使用信息

  • -m, --mem
    [root@192-168-248-80 ~]# dstat -m
    ------memory-usage-----
     used  buff  cach  free
    34.4G 2212k 8434M  209G
    34.4G 2212k 8434M  209G
    

查看 swap 信息

  • -s, --swap
    [root@192-168-248-80 ~]# dstat -s
    ----swap---
     used  free
       0    10G
       0    10G
    

最大 内存进程

  • –top-mem
    [root@192-168-248-80 ~]# dstat --top-mem
    --most-expensive-
      memory process 
    java        3127M
    java        3127M
    

显示第一个被 OOM 结束的进程

  • –top-oom
    [root@192-168-248-80 ~]# dstat --top-oom
    --out-of-memory---
        kill score    
    java          1.0k
    java          1.0k
    

Net

网络 IO 数据量

  • -n, --net
    # 查看网卡传输汇总信息
    [root@192-168-248-80 ~]# dstat -n
    -net/total-
     recv  send
       0     0 
      41k   40k
    
  • -N
    # 查看特定网卡传输信息
    [root@192-168-248-80 ~]# dstat -nN em1
    --net/em1--
     recv  send
       0     0 
    6442B 9112B
    

查看 socket 连接

  • –socket
    [root@192-168-248-80 ~]# dstat --socket
    ------sockets------
    tot tcp udp raw frg
      4 143   4   0   0
      4 143   4   0   0
    

查看 tcp 连接

  • –tcp
    [root@192-168-248-80 ~]# dstat --tcp
    ----tcp-sockets----
    lis act syn tim clo
     11 132   0   0   0
     11 132   0   0   0
    

查看 udp 连接

  • –udp
    [root@192-168-248-80 ~]# dstat --udp
    --udp--
    lis act
      4   0
      4   0
    

进程

进程数量

  • –proc-count
    [root@192-168-248-80 ~]# dstat --proc-count
    proc
    tota
     626
     626
    
  • -p, --proc
    [root@192-168-248-80 ~]# dstat -p
    ---procs---
    run blk new
      0   0 3.1
      0   0   0
    

负载信息

  • -l, --load
    [root@192-168-248-80 ~]# dstat -l
    ---load-avg---
     1m   5m  15m 
    0.59 0.80 0.64
    0.59 0.80 0.64
    

文件系统信息

  • –fs, --filesystem
    # 展示文件总数和inode数
    [root@192-168-248-80 ~]# dstat --fs
    --filesystem-
    files  inodes
    11136    172k
    11136    172k
    

时间

增加日期时间

  • -t, --time
    # 日期时间
    [root@192-168-248-80 ~]# dstat -t
    ----system----
         time     
    01-04 19:23:49
    01-04 19:23:50
    

增加 epoch 秒数

  • -T, --epoch
    # 从 epoch 到现在的秒数
    [root@192-168-248-80 ~]# dstat -T
    --epoch---
      epoch   
    1617276248
    1617276249
    

系统信息

系统(中断+切换)

  • -y, --sys
    # int 代表系统中断次数, csw 代表上下文切换次数
    [root@192-168-248-80 ~]# dstat -y
    ---system--
     int   csw 
    9886    19k
      17k   34k
    

中断

  • -i, --int
    [root@192-168-248-80 ~]#  dstat -i
    ----interrupts---
     150   151   152 
       3     1     0 
       0     0     0 
    

分页

  • -g, --page
    # 数值为 0 最佳, 数值越高, 交换越高, 性能越差
    [root@192-168-248-80 ~]#  dstat -g
    ---paging--
      in   out 
       0     0 
       0     0 
    

其他

不显示颜色

  • –nocolor
    # 不显示颜色
    [root@192-168-248-80 ~]# dstat -c --nocolor
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      1   0  99   0   0   0
      1   1  98   0   0   0
    

显示插件列表

  • –list
    [root@192-168-248-80 ~]# dstat --list
    internal:
    	aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, 
    	proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix, vm
    /usr/share/dstat:
    	battery, battery-remain, cpufreq, dbus, disk-tps, disk-util, dstat, dstat-cpu, dstat-ctxt, dstat-mem, fan, 
    	freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, lustre, memcache-hits, mysql-io, 
    	mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, 
    	ntp, postfix, power, proc-count, qmail, rpc, rpcd, sendmail, snooze, squid, test, thermal, top-bio, 
    	top-bio-adv, top-childwait, top-cpu, top-cpu-adv, top-cputime, top-cputime-avg, top-int, top-io, top-io-adv, 
    	top-latency, top-latency-avg, top-mem, top-oom, utmp, vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, 
    	vz-ubc, wifi
    

delay 和 count

# delay 为 3, count 为 5; 3 秒统计一次, 共打印5次
dstat --top-cpu --top-mem -r --top-io 3 5

输出到文件

# 文件路径要写全
dstat --output ~/a.csv

示例

# 时间, 负载, cpu最大进程, 上下文切换, 内存最大进程, swap, IO数据量&请求数, IO最大进程, 块IO最大进程, 1秒统计一次, 打印3次
[root@192-168-248-80 ~]# dstat -tl --top-cpu -g --top-mem -s -rd --top-io --top-bio 1 3
----system---- ---load-avg--- -most-expensive- ---paging-- --most-expensive- ----swap--- --io/total- -dsk/total- ----most-expensive---- ----most-expensive----
     time     | 1m   5m  15m |  cpu process   |  in   out |  memory process | used  free| read  writ| read  writ|     i/o process      |  block i/o process   
02-04 11:24:05|0.52 0.51 0.70|k3s agent    0.2|   0     0 |java        3127M|   0    10G|0.12  2.26 |3070B  124k|dockerd     510k  217k|sshd       1373B   58k
02-04 11:24:06|0.56 0.52 0.71|beam.smp     0.4|   0     0 |java        3127M|   0    10G|   0     0 |   0     0 |dockerd     753k  172k|dockerd       0  4096B
02-04 11:24:07|0.56 0.52 0.71|beam.smp     0.2|   0     0 |java        3127M|   0    10G|   0     0 |   0     0 |dockerd     751k  325k|java          0  4096B
02-04 11:24:08|0.56 0.52 0.71|k3s agent    0.6|   0     0 |java        3127M|   0    10G|   0  7.00 |   0    64k|dockerd     752k  247k|java          0  8192B
 类似资料: