简介

  • dstat命令

linux dstat命令 详解

dstat 是一个用于显示系统性能统计信息的命令行工具。它汇总了许多系统资源的统计数据,包括 CPU 使用率、内存使用情况、磁盘 I/O、网络流量等。以下是关于 dstat 命令的详细解释:

安装:

在大多数 Linux 系统中,可以使用包管理器安装 dstat。例如,在基于 Debian 的系统上可以使用以下命令:

1
sudo apt-get install dstat

语法:

1
dstat [选项] [间隔时间] [次数]

常用选项:

  • -c:显示 CPU 使用情况。
  • -m:显示内存使用情况。
  • -d:显示磁盘 I/O。
  • -n:显示网络流量。
  • -p:显示进程统计信息。
  • -s:显示系统信息。
  • -g:显示页面交换情况。
  • -y:显示系统负载情况。

示例用法:

  1. 默认显示所有信息:
    1
    
    dstat
    

    默认情况下,dstat 显示所有可用的性能统计信息。

  2. 指定显示的模块:
    1
    
    dstat -c -d -n
    

    使用 -c-d-n 选项指定显示 CPU 使用情况、磁盘 I/O 和网络流量。

  3. 指定间隔时间和次数:
    1
    
    dstat -c -d -n 2 5
    

    指定每2秒更新一次,总共更新5次。

  4. 显示进程统计信息:
    1
    
    dstat -p
    

    使用 -p 选项显示进程统计信息。

  5. 显示系统信息:
    1
    
    dstat -s
    

    使用 -s 选项显示系统信息。

示例输出:

1
2
3
4
5
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  6   1  89   3   0   1|  15k   67k|   0     0 |   0     0 |3265  7054
  4   1  90   4   0   1|   0    48k| 948B 2142B|   0     0 |2651  6167
  5   1  90   3   0   1|   0     0 |   0     0 |   0     0 |2621  6069

工作原理:

dstat 通过读取系统的 /proc 文件系统以及其他系统文件,实时地收集各种性能统计信息,并以可读性强的格式显示出来。它可以在终端中实时更新数据,也可以在后台运行。

注意事项:

  • dstat 提供了许多选项,根据需求选择需要的模块,以避免信息过于庞大。
  • 在使用 -p 选项时,可能需要 root 权限以查看其他进程的统计信息。

dstat 是一个方便的工具,用于实时监控系统的性能。它对于系统管理员、开发人员和调试人员来说是一个有用的资源。

linux dstat命令 常用技巧

以下是一些在使用 dstat 命令时的常用技巧:

  1. 指定特定模块的显示:
    1
    
    dstat -c --top-cpu
    

    使用 --top-cpu 选项,只显示 CPU 使用最高的进程信息。类似的,--top-mem 可以显示内存使用最高的进程信息。

  2. 指定特定时间间隔和次数:
    1
    
    dstat -c -d -n -s --output report.csv 5 3
    

    在指定时间间隔和次数内,将统计信息输出到 report.csv 文件中。

  3. 显示磁盘 I/O 指定分区:
    1
    
    dstat -d -D sda,sdb
    

    使用 -D 选项,可以指定要监控的磁盘分区。

  4. 显示网络流量指定接口:
    1
    
    dstat -n -N eth0,eth1
    

    使用 -N 选项,可以指定要监控的网络接口。

  5. 显示系统负载和运行进程数:
    1
    
    dstat -l
    

    使用 -l 选项,显示系统负载和运行进程数。

  6. 显示缓存和缓冲区使用情况:
    1
    
    dstat --vmstat
    

    使用 --vmstat 选项,显示缓存和缓冲区的使用情况。

  7. 显示中断和上下文切换:
    1
    
    dstat -y
    

    使用 -y 选项,显示中断和上下文切换。

  8. 显示系统调用和上下文切换:
    1
    
    dstat -c -y
    

    使用 -c-y 选项,同时显示系统调用和上下文切换。

  9. 在后台运行 dstat
    1
    
    nohup dstat -c -d -n 5 10 > dstat_output.txt &
    

    使用 nohup 命令和 &dstat 放入后台运行,并将输出保存到文件。

  10. 自定义输出格式:
    1
    
    dstat --output report.csv --noupdate -c -d -n
    

    使用 --noupdate 选项,禁止在屏幕上实时更新,适用于将输出保存到文件中。

这些技巧可以使你更灵活地使用 dstat 命令,根据具体的监控需求进行调整。 dstat 提供了丰富的选项,适用于多种系统监控场景。

dstat

  • versatile tool for generating system resource statistics.(多功能系统资源统计生成工具)
  • 检测界面各参数含义(部分)
    • Procs
      • r : 运行的和等待(CPU时间片)运行的进程,这个值也可以判断是否需要增加CPU
      • b : 处于不可中断状态的进程数,常见的情况是由IO引起的
    • Memory
      • swpd : 切换到交换内存上的内存(默认以KB为单位)。如果swpd的值不为0,
      • free : 空闲的物理内存
      • buff : 作为buffer cache的内存,对块设备的读写进行缓冲
      • cache: 作为page cache 的内存,文件系统的cache。
    • Swap
      • si : 交换内存使用,由磁盘调入内存
      • so : 交换内存使用,由内存调入磁盘
    • 磁盘IO
      • bi : 从块设备读入的数据总量(读磁盘)
      • bo : 写入到块设备的数据总量 (写磁盘)
    • System
      • in : 每秒产生的中断次数
      • cs : 每秒产生的上下文切换次数
    • Cpu
      • usr : 用户进程消耗的CPU时间百分比
      • sys : 内核进程消耗的CPU时间百分比
      • wai : IO等待消耗的CPU时间百分比
      • wai : CPU处在空间状态时间百分比

在Linux中,dstat命令用于实时监视系统资源的使用情况。它提供了对CPU、内存、磁盘、网络等资源的详细统计信息,并以交互式方式显示结果。

以下是dstat命令的一般语法:

1
dstat [options]

其中,options是可选的一些选项,用于指定要显示的资源和其他配置。

以下是一些常见的dstat命令选项和用法:

  1. 显示默认的系统资源统计信息:
    1
    
    dstat
    

    此命令将以默认配置显示实时的CPU、内存、磁盘和网络统计信息。

  2. 指定要显示的资源:
    1
    
    dstat -c -m -d
    

    此命令将只显示CPU使用情况、内存使用情况和磁盘活动的统计信息。

  3. 指定刷新间隔:
    1
    
    dstat -r 5
    

    此命令将每隔5秒刷新一次统计信息。

dstat命令还支持其他一些选项,如指定输出格式、显示进程统计信息、监视网络连接等。

使用dstat命令可以方便地监视系统资源的使用情况,帮助识别性能瓶颈和优化系统配置。它特别适用于在终端环境中实时查看系统的运行状态。