Linux系统之dstat命令的基本使用

这篇具有很好参考价值的文章主要介绍了Linux系统之dstat命令的基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux系统之dstat命令的基本使用

一、dstat命令介绍

1. dstat简介

dstat是一个通用的系统资源统计工具,stat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令,是一个全能系统信息统计工具。

2. dstat特点

  • 实时的监控cpu、磁盘、网络、IO、内存等使用情况
  • 全能系统信息统计
  • 安装方便快速,上手简单
  • 功能强大,是运维的好帮手

二、本次实践介绍

1. 本地环境规划

本地环境规划:

hostname IP地址 dstat版本 操作系统版本
jeven 192.168.3.166 3.28.2-10 centos 7.6

2. 本次实践介绍

1.本次实践环境为个人测试环境;
2.本次实践为在centos7.6系统上安装dstat工具;
3.学会dstat工具的基本使用。

三、本地环境检查

1. 检查操作系统版本

检查本地操作系统版本

[root@jeven test]#  cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

2. 查看系统内核版本

查看系统内核版本

[root@jeven test]# uname -r 
3.10.0-957.el7.x86_64

3. 检查本地yum仓库源状态

检查本地yum仓库的状态

[root@server001 ~]# yum repolist all |grep enable 
!base/7/x86_64                               CentOS-7 - Base - m enabled: 10,072
!docker-ce-stable/7/x86_64                   Docker CE Stable -  enabled:    234
!epel/x86_64                                 Extra Packages for  enabled: 13,785
!extras/7/x86_64                             CentOS-7 - Extras - enabled:    515
!mysql-connectors-community/x86_64           MySQL Connectors Co enabled:    220
!mysql-tools-community/x86_64                MySQL Tools Communi enabled:     98
!mysql80-community/x86_64                    MySQL 8.0 Community enabled:    405
!remi-safe                                   Safe Remi's RPM rep enabled:  5,159
!updates/7/x86_64                            CentOS-7 - Updates  enabled:  4,926
!webmin                                      Webmin Distribution enabled:    243
!zabbix/x86_64                               Zabbix Official Rep enabled:    114
!zabbix-agent2-plugins/x86_64                Zabbix Official Rep enabled:      4
!zabbix-non-supported/x86_64                 Zabbix Official Rep enabled:      5

四、安装dstat工具

1. 搜索dstat软件

使用yum查找dstat软件

[root@server001 ~]# yum search dstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * remi-safe: mirrors.tuna.tsinghua.edu.cn
=================================================================================== N/S matched: dstat ===================================================================================
dstat.noarch : Versatile resource statistics tool

  Name and summary matches only, use "search all" for everything.

查看dstat的软件版本

[root@server001 ~]# yum list all|grep dstat
dstat.noarch                             0.7.2-12.el7                  base  

2. 安装dstat工具

使用yum直接安装dstat工具

[root@jeven ~]# yum -y install dstat
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: mirrors.cqu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package dstat.noarch 0:0.7.2-12.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================================================
 Package                                    Arch                                        Version                                           Repository                                 Size
==========================================================================================================================================================================================
Installing:
 dstat                                      noarch                                      0.7.2-12.el7                                      base                                      163 k

Transaction Summary
==========================================================================================================================================================================================
Install  1 Package

Total download size: 163 k
Installed size: 752 k
Downloading packages:
dstat-0.7.2-12.el7.noarch.rpm                                                                                                                                      | 163 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : dstat-0.7.2-12.el7.noarch                                                                                                                                              1/1 
  Verifying  : dstat-0.7.2-12.el7.noarch                                                                                                                                              1/1 

Installed:
  dstat.noarch 0:0.7.2-12.el7                                                                                                                                                             

Complete!

3. 查看dstat版本

查看dstat版本

[root@jeven ~]# dstat --version
Dstat 0.7.2
Written by Dag Wieers <dag@wieers.com>
Homepage at http://dag.wieers.com/home-made/dstat/

Platform posix/linux2
Kernel 3.10.0-957.el7.x86_64
Python 2.7.5 (default, Oct 30 2018, 23:45:53) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

Terminal type: xterm (color support)
Terminal size: 39 lines, 186 columns

Processors: 4
Pagesize: 4096
Clock ticks per secs: 100

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

五、dstat命令的帮助信息

1. 在命令行的帮助信息

在centos命令行终端的dstat的帮助信息

[root@jeven ~]# dstat --help
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics

Dstat 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

delay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)

2. dstat命令常用选项

dstat命令常用选项

-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
-d:显示磁盘读写数据大小。
-D hda,total:include hda and total。
-n:显示网络状态。
-N eth1,total:有多块网卡时,指定要显示的网卡。
-l:显示系统负载情况。
-m:显示内存使用情况。
-g:显示页面使用情况。
-p:显示进程状态。
-s:显示交换分区使用情况。
-S:类似D/N。
-r:I/O请求情况。
-y:系统状态。
--ipc:显示ipc消息队列,信号等信息。
--socket:用来显示tcp udp端口状态。
-a:此为默认选项,等同于-cdngy。
-v:等同于 -pmgdsc -D total。
--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。

六、dstat命令的基本使用

1. 直接使用dstat命令

直接使用dstat命令,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。
在命令后面加上–output ,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。

[root@jeven ~]# 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 
  0   0  99   0   0   0| 221k   35k|   0     0 |   0     0 | 141   195 
  0   0 100   0   0   0|   0     0 | 328B  938B|   0     0 |  76   111 
  0   0 100   0   0   0|   0     0 | 254B  398B|   0     0 |  57    78 
  0   0 100   0   0   0|   0     0 | 314B  458B|   0     0 |  46    60 
  0   0 100   0   0   0|   0     0 | 254B  458B|   0     0 |  58    73 
  0   0 100   0   0   0|   0     0 | 254B  398B|   0     0 |  49    67 

Linux系统之dstat命令的基本使用

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


- disk部分解释
read:磁盘读带宽; 
writ:磁盘写带宽

- system部分解释
int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。


- net部分解释
recv:网络收包带宽
send:网络发包带宽


- paging内存分页统计
in: page in(换入)
out:page out(换出)

2. 指定时间间隔显示

可以在最后指定显示一条信息的时间间隔,如dstat3是每3s显示一条,dstat 3 6表示每3s显示一条,一共显示6条。

[root@jeven ~]# dstat 3
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 
  0   0  99   0   0   0| 212k   33k|   0     0 |   0     0 | 137   190 
  0   0 100   0   0   0|   0     0 | 254B  573B|   0     0 |  55    71 
  0   0 100   0   0   0|   0     0 | 334B  387B|   0     0 |  59    82 
  0   0 100   0   0   0|   0     0 | 254B  387B|   0     0 |  70    78 
  0   0 100   0   0   0|   0     0 | 234B  407B|   0     0 |  53    74 
  0   0 100   0   0   0|   0     0 | 254B  387B|   0     0 |  51    68 
  0   0 100   0   0   0|   0     0 | 454B  407B|   0     0 |  55    74 
  0   0 100   0   0   0|   0     0 | 254B  407B|   0     0 |  56    78 

[root@jeven ~]# dstat 3 6
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 
  0   0  99   0   0   0| 210k   33k|   0     0 |   0     0 | 137   190 
  0   0 100   0   0   0|   0     0 | 254B  573B|   0     0 |  57    77 
  0   0 100   0   0   0|   0     0 | 428B  387B|   0     0 |  77   110 
  0   0 100   0   0   0|   0     0 | 294B  407B|   0     0 |  76   102 
  0   0 100   0   0   0|   0     0 | 254B  407B|   0     0 |  84    90 
  0   0 100   0   0   0|   0     0 | 228B  387B|   0     0 |  55    79 
  0   0 100   0   0   0|   0     0 | 214B  407B|   0     0 |  51    73 

3. 查看dstat能使用的所有参数

查看dstat能使用的所有参数使用dstat --list

[root@jeven ~]# 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

4. 监控系统的进程

检查查看系统的进程

[root@jeven ~]# dstat -p 5 10
---procs---
run blk new
  0   0 3.8
  0   0   0
  0   0   0
  0   0   0
  0   0   0
  0   0   0
  0   0   0
0.4   0   0
  0   0 1.6
  0   0   0
  0   0   0

七、dstat命令的日常用法

1. 显示最耗CPU的进程

查看当前最耗CPU的进程名、PID和CPU占比以及读写信息。

[root@jeven ~]# dstat -t --top-cpu-adv 2 6
----system---- -------most-expensive-cpu-process-------
     time     |process              pid  cpu read write
14-05 05:16:31|vmtoolsd             9177 0.0%2094B   1B
14-05 05:16:33|python2              9868 0.1%   0    0 
14-05 05:16:35|kworker/1:1          224830.1%   0    0 
14-05 05:16:37|                                        
14-05 05:16:39|                                        
14-05 05:16:41|kworker/0:1          40   0.1%   0    0 
14-05 05:16:43|rngd                 9141 0.1%   0    0 

2. 显示最高磁盘IO的进程

查看当前最耗block I/O的进程名、PID和读写容量以及CPU占比。

[root@jeven ~]# dstat -t  --top-bio-adv 2 6
----system---- ----most-expensive-block-i/o-process----
     time     |process              pid  read write cpu
14-05 05:18:38|systemd              1      68k  20k0.0%
14-05 05:18:40|                                        
14-05 05:18:42|                                        
14-05 05:18:44|                                        
14-05 05:18:46|                                        
14-05 05:18:48|                                        
14-05 05:18:50|                                        

3. 显示最耗内存的进程

查看当前最耗内存的进程

[root@jeven ~]#  dstat -t --top-mem 2 6
----system---- --most-expensive-
     time     |  memory process 
14-05 05:52:02|gnome-shell  133M
14-05 05:52:05|gnome-shell  133M
14-05 05:52:07|gnome-shell  133M
14-05 05:52:09|gnome-shell  133M
14-05 05:52:10|gnome-shell  133M
14-05 05:52:13|gnome-shell  133M
14-05 05:52:15|gnome-shell  133M

4. 监控磁盘读写

监控磁盘sda的读写状态

[root@jeven ~]# dstat -t  -dD sda,total  2 6
----system---- --dsk/sda----dsk/total-
     time     | read  writ: read  writ
14-05 05:23:05| 164k   26k: 164k   26k
14-05 05:23:07|   0     0 :   0     0 
14-05 05:23:09|   0     0 :   0     0 
14-05 05:23:11|   0     0 :   0     0 
14-05 05:23:13|   0    15k:   0    15k
14-05 05:23:15|   0     0 :   0     0 
14-05 05:23:17|   0     0 :   0     0 

5. 监控网卡的流量

监控系统的某个网卡,例如ens33网卡的流量情况。

[root@jeven ~]# dstat -t  -n -N ens33,total 2 6
----system---- -net/ens33---net/total-
     time     | recv  send: recv  send
14-05 05:24:59|   0     0 :   0     0 
14-05 05:25:01| 224B  378B: 224B  378B
14-05 05:25:03| 284B  312B: 284B  312B
14-05 05:25:05| 224B  282B: 224B  282B
14-05 05:25:07| 224B  312B: 224B  312B
14-05 05:25:09| 194B  282B: 194B  282B
14-05 05:25:11| 224B  312B: 224B  312B
[root@jeven ~]# 

6. 监控内存状态

监控系统内存的状态,显示内存的各项信息。文章来源地址https://www.toymoban.com/news/detail-443783.html

[root@jeven ~]# dstat -t  -m  2 6
----system---- ------memory-usage-----
     time     | used  buff  cach  free
14-05 05:26:43|1209M 6168k  822M 9798M
14-05 05:26:45|1209M 6168k  822M 9798M
14-05 05:26:47|1209M 6168k  822M 9798M
14-05 05:26:49|1209M 6168k  822M 9798M
14-05 05:26:51|1209M 6168k  822M 9798M
14-05 05:26:53|1209M 6168k  822M 9798M
14-05 05:26:55|1209M 6168k  822M 9798M

到了这里,关于Linux系统之dstat命令的基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos下系统全局检测工具dstat使用

    目录 一:没有需要安装 二:dstat命令参数 三、监测界面各参数含义(部分) 四、dstat的高级用法 一:没有需要安装 yum install dstat 二:dstat命令参数 有默认选项,执行dstat命令不加任何参数,它默认会收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。 默认输

    2024年01月20日
    浏览(29)
  • 2-Linux 目录介绍及基本指令和操作命令

    一、目录介绍 /:表示的是根的意思 /bin:(binary)存放的是一些二进制文件,但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。 /etc:Linux下所有的配置文件都会存放到etc目录。 /home:是所有非root用户家目录的一个集

    2024年02月08日
    浏览(46)
  • ipset命令介绍与基本使用

    一. 介绍         ipset命令是用于管理内核中IP sets模块的,如iptables之于netfilter。ipset字面意思是一些IP地址组成一个集合(set)。但是ipset用于用于存储IP地址,整个子网,端口号(TCP/UDP),MAC地址,网络接口名或者上述这些的组合。ipset主要是由iptables来使用,用于提高iptab

    2024年02月08日
    浏览(33)
  • 【Linux 系统编程】Linux背景介绍 及 基本指令详解(一)

    1.1 发展史 本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。 UNIX发展的历史 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multi

    2024年02月11日
    浏览(45)
  • Linux系统命令-rm命令详细介绍.系列【59】

    rm命令是Linux系统中常用的一个命令,可以用来删除文件或目录。下面详细介绍rm命令的使用方法。 1. 命令格式 rm [选项] 文件/目录 2. 命令选项 -f:强制删除文件或目录,无需确认。 -i:删除前先询问用户是否确认删除。如果用户输入y或Y,则删除,否则不删除。 -r或-R:递归

    2024年02月13日
    浏览(44)
  • Linux系统命令-patch命令详细介绍.系列【57】

    patch命令可以用于将补丁文件应用到源代码中,并生成新的代码文件。下面是patch命令的详细使用方法: 1. 语法格式: patch [options] [original_file [patch_file]] 2. 参数说明: - options:选项参数,可以是多个选项组合使用。 - original_file:原始文件名。 - patch_file:补丁文件名。 3. 常用

    2024年02月09日
    浏览(40)
  • Linux 学习笔记(1)——系统基本配置与开关机命令

    目录 0、起步 0-1)命令使用指引 0-2)查看历史的命令记录 0-3)清空窗口内容 0-4)获取本机的内网 IP 地址 0-5)获取本机的公网ip地址 0-6)在window的命令行窗口中远程连接linux 0-7)修改系统的时间 0-8)给虚拟机配置静态 ip 地址 1、使用scp上传和下载文件 1-1)将本地文件上传到

    2024年02月10日
    浏览(35)
  • 蓝易云:Linux系统命令-ps命令详细介绍.系列【14】

    在Linux系统中,ps命令是用来查看当前系统中正在运行的进程列表的命令。 ps命令的基本格式如下: ps [option] 其中,option是ps命令的一些选项,可以用来定制查看进程列表的方式和内容。 下面是一些常用的ps命令选项及其含义: -a:显示所有的进程,包括其他用户的进程和僵尸

    2023年04月11日
    浏览(43)
  • 三、Linux基本使用和常用命令

    1、登录Linux操作系统方式 1.图形化界面 基于 x window System 显示框架开发 由KDE(类似于苹果系统)、GNOME.v.3.0 提供图形化桌面环境 2.虚拟控制台 文本方式(Ctrl + Alt + F3)   3.Web网页登录 前提是需要打开网页控制台,由 cock.pit 程序提供 ‘’‘ #将cockpit控制台设置为开机启动且

    2024年02月05日
    浏览(47)
  • 【Linux面试题及答案:了解Linux操作系统、常见发行版及基本命令】

    一、什么是Linux操作系统? 答:Linux是一种开源的操作系统,它基于UNIX操作系统开发而来。Linux具有稳定性、可靠性和安全性的特点,并且可以运行在各种硬件平台上。 二、Linux有哪些常见的发行版? 答:Linux有许多不同的发行版,常见的有Ubuntu、Debian、CentOS、Fedora、Red Hat等

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包