`

全能系统监控工具dstat命令[转]

 
阅读更多

先看这里:http://man.linuxde.net/dstat

转:http://www.cnblogs.com/vincent-hv/p/3358194.html

一、什么是dstat?

通过man帮助,可以看到官方对dstat的定义为:多功能系统资源统计生成工具( versatile tool for generating system resource statistics)。在获取的信息上有点类似于top、free、iostat、vmstat等多个工具的合集,官方解释为vmstat、iostat、ifstat等工具的多功能替代品,且添加了许多额外的功能(Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features.);其结果可以保持到csv文件,使用脚本或第三方工具对性能进行分析利用(如通过监控平台监控,也可以保持到数据库)。在Centos 6.x系统上安装基本服务器即默认安装,而在其他操作系统可能需要手动安装。

二、dstat的基本使用:

2.1 dstat的默认选项

与许多命令一样,dstat命令有默认选项,执行dstat命令不加任何参数,它默认会收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。 默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1。

2.2 dstat的常用选项:

dstat的用法如下:

dstat [-afv] [options..] [delay [count]]

 

使用 dstat -h查看全部选项,这里不逐一列举,下面简单介绍下常用选项

常用选项如下:

# 直接跟数字,表示#秒收集一次数据,默认为一秒;dstat 5表示5秒更新一次

-c,--cpu   统计CPU状态,包括 user, system, idle(空闲等待时间百分比), wait(等待磁盘IO), hardware interrupt(硬件中断), software interrupt(软件中断)等;

-d, --disk 统计磁盘读写状态

-D total,sda 统计指定磁盘或汇总信息

-l, --load 统计系统负载情况,包括1分钟、5分钟、15分钟平均值

-m, --mem 统计系统物理内存使用情况,包括used, buffers, cache, free

-s, --swap 统计swap已使用和剩余量

-n, --net 统计网络使用情况,包括接收和发送数据

-N eth1,total  统计eth1接口汇总流量

-r, --io 统计I/O请求,包括读写请求

-p, --proc 统计进程信息,包括runnable、uninterruptible、new

-y, --sys 统计系统信息,包括中断、上下文切换

-t 显示统计时时间,对分析历史数据非常有用

--fs 统计文件打开数和inodes数

以上这些就是最常用的选项,而一般都组合使用,个人比较常用的是:

  • dstat -cmsdnl -D sda9 -N lo,etho 100 5

三、监测界面各参数含义(部分)

 

Procs

  • r:运行的和等待(CPU时间片)运行的进程数,这个值也可以判断是否需要增加CPU(长期大于1) 
  • b:处于不可中断状态的进程数,常见的情况是由IO引起的
Memory
  • swpd: 切换到交换内存上的内存(默认以KB为单位)。如果 swpd 的值不为0,或者还比较大,比如超过100M了,但是 si, so 的值长期为 0,这种情况我们可以不用担心,不会影响系统性能。
  • free: 空闲的物理内存
  • buff: 作为buffer cache的内存,对块设备的读写进行缓冲
  • cache: 作为page cache的内存, 文件系统的cache。如果 cache 的值大的时候,说明cache住的文件数多,如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。
Swap
  • si: 交换内存使用,由磁盘调入内存
  • so: 交换内存使用,由内存调入磁盘

内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响。磁盘IO和CPU资源都会被消耗。

我发现有些朋友看到空闲内存(free)很少或接近于0时,就认为内存不够用了,实际上不能光看这一点的,还要结合si,so,如果free很少,但是si,so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。
磁盘IO
  • bi: 从块设备读入的数据总量(读磁盘) (KB/s)
  • bo: 写入到块设备的数据总理(写磁盘) (KB/s)
注:随机磁盘读写的时候,这2个 值越大(如超出1M),能看到CPU在IO等待的值也会越大
System
  • in: 每秒产生的中断次数
  • cs: 每秒产生的上下文切换次数
上面这2个值越大,会看到由内核消耗的CPU时间会越多
Cpu
  • usr: 用户进程消耗的CPU时间百分比

us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了(比如 PHP/Perl)

  • sys: 内核进程消耗的CPU时间百分比 

sys 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。

  • wai: IO等待消耗的CPU时间百分比
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。
  • idl: CPU处在空闲状态时间百分比

四、dstat的高级用法

dstat的功能非常强大,除了上述常用用法外,还有一些大家不常用的高级用法,如下:

3.1 找出占用资源最高的进程和用户

--top-(io|bio|cpu|cputime|cputime-avg|mem) 通过这几个选项,可以看到具体是那个用户那个进程占用了相关系统资源,对系统调优非常有效。如查看当前占用I/O、cpu、内存等最高的进程信息可以使用dstat --top-mem --top-io --top-cpu:

<iframe id="iframe_0.06976359244436026" style="margin: 0px; padding: 0px; border-style: none; border-width: initial; width: 675px; height: 409px;" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://www.toxingwang.com/wp-content/uploads/2013/07/dstat%25E9%25AB%2598%25E7%25BA%25A7%25E7%2594%25A8%25E6%25B3%2595.jpg?_=3358194%22%20style=%22border:none;max-width:1576px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.06976359244436026',width:img.width,height:img.height%7D,%20'http://www.cnblogs.com');%7D%3C/script%3E" frameborder="0" scrolling="no"></iframe>

3.2 获取其他应用信息:

dstat除了可以获取系统关键信息外,还可以获取其他应用信息,如通过下列选项,可以获取到其他一些常用应用信息:

--postfix 显示postfix队列大小

--sendmail 显示sendmail队列大小

--ntp 显示ntp服务器时间

--nfs3 获取nfs客户端信息

--nfsd3 获取nfs服务器信息,不过nfs服务器版本需为第三版才可以,该选项还有更多用法,可以参考man帮助获取

--mysql5-(cmds|conn|io|keys ) 获取mysql5相关信息

分享到:
评论

相关推荐

    Linux 全能系统监控工具dstat的实例详解

    dstat可以很方便监控系统运行状况并用于基准测试和排除故障。 dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同...

    性能监控工具dstat

    dstat-rpm安装包,安装 :rpm -ivh+包名 。 常用dstat命令:dstat -cdmn;dstat --output /home/100bf.csv --cdmn 3;等

    dstat监控工具

    dstat是一款强大的系统资源监控工具,它能够实时地显示系统CPU、内存、磁盘I/O、网络I/O等关键性能指标。dstat比传统的top、iostat和vmstat等工具更为全面,因为它可以同时显示多个资源的使用情况,并且在数据收集时...

    dstat-0.7.2.zip

    在Linux系统管理与优化过程中,实时监控系统资源的使用情况至关重要。其中,对于网络流量和磁盘性能的监测是尤为关键的一环,这有助于我们及时发现并解决系统瓶颈,确保服务的稳定运行。本文将详细介绍一款名为dstat...

    dstat-master.tar.gz

    此外,dstat还可以与其他工具结合,如通过cron定时任务实现定期监控,或者与graphite、ganglia等监控系统集成,构建更为完善的监控体系。 总之,dstat是Linux系统管理员的得力助手,它提供了一种统一的方式来监视...

    Linux系统20个系统监控工具.zip

    11. **dstat**:多功能监控工具,可同时替代多个命令(如iostat、vmstat等)。 12. **nmon**:性能监控工具,特别适合分析CPU、内存、磁盘和网络性能。 13. **netstat**:查看网络连接、路由表、接口统计等信息。 14...

    dstat 源码

    工具说明dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比

    linux系统常用监控工具整理

    `top`命令是最基本的实时性能监控工具,它显示系统总体的CPU、内存使用情况,以及每个进程的资源占用状况。你可以看到进程ID、用户、优先级、虚拟内存、物理内存、CPU使用率等信息。通过交互式界面,可以对进程进行...

    dstat磁盘性能检测工具

    dstat磁盘性能检测工具

    Linux运维工程师应该知道的20个系统监控工具.docx

    12. **dstat**:dstat可以同时替代多个系统监控工具,如vmstat、iostat、ifstat等,提供全面的系统资源监控。 13. **strace**:strace用于跟踪进程的系统调用和信号,帮助诊断进程行为问题。 14. **lsof**:lsof列...

    Linux运维工程师应该知道的20个系统监控工具.pdf

    10. **dstat**:多功能监控工具,可以同时显示CPU、内存、磁盘和网络的统计数据。 11. **htop**:top命令的增强版,带有颜色和树状视图,更易读且交互性强。 12. **atop**:提供日志记录功能,可以回溯历史性能数据...

    dstat-0.7.2-12.el7.noarch.rpm (dstat 之rpm包)

    **使用dstat监控系统** 启动dstat后,你可以看到CPU使用率、内存使用、磁盘读写速度、网络流入流出速率等信息。例如,基本的命令`dstat`会显示所有信息。要监控特定部分,可以使用参数,如`dstat -c`仅查看CPU使用...

    常用的linux系统监控命令整理.docx

    以下是一些常用的Linux系统监控命令,它们可以帮助我们追踪CPU使用、内存消耗、网络活动以及存储I/O等关键性能指标。 1. **`ps` 命令**: `ps -mp pid -o THREAD,tid,time` 或 `ps -Lfp pid` 用于找出占用CPU最多...

    dstat-0.7.2-12.el7.noarch.rpm

    dstat工具Linux安装包

    dstat-0.7.2-1.el6.rfx.noarch.rpm

    dstat-0.7.2-1.el6.rfx.noarch.rpm ,linux系统监控工具dstsat

    几个linux服务器性能测试工具,服务器压力测试

    3、Linux下很全面的监控工具dstat:dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据...

    unix命令操作工具集

    - **dstat**:结合了iostat、vmstat和ifstat的功能,是一款强大的系统性能监控工具。它可以提供CPU、内存、磁盘I/O、网络流量等多方面的实时数据,帮助用户快速了解系统的整体状态。通过定制化输出格式,dstat能够...

    Linux系统管理+网络监控命令.docx

    - **dstat**:综合监控工具,可同时监控CPU、内存、磁盘、网络等资源。 - **htop**:top命令的增强版,提供彩色界面和更友好的用户交互。 这些工具的熟练掌握和应用,能够帮助系统管理员快速定位和解决问题,确保...

Global site tag (gtag.js) - Google Analytics