linux dstat,使用Dstat来进行Linux综合性能诊断

linux dstat,使用Dstat来进行Linux综合性能诊断性能测试、评估和优化一直是系统管理维护人员工作的重点。当我们针对一台生产应用进行分析的时候,获取如CPU、内存、IO、网络吞吐和进程负载的基础数据,对于后续的性能评测和优化是至关重要的。Linux作为目前应用最广泛的服务器操作系统,为了应对各种性能问题,已经发展出很多原生的性能检测工具。从top、vmstat、iostat到mpstat,已经可以对操作系统主要性能方面进行详细的分析。面对越来越复杂…

大家好,又见面了,我是你们的朋友全栈君。

性能测试、评估和优化一直是系统管理维护人员工作的重点。当我们针对一台生产应用进行分析的时候,获取如CPU、内存、IO、网络吞吐和进程负载的基础数据,对于后续的性能评测和优化是至关重要的。

Linux作为目前应用最广泛的服务器操作系统,为了应对各种性能问题,已经发展出很多原生的性能检测工具。从top、vmstat、iostat到mpstat,已经可以对操作系统主要性能方面进行详细的分析。

面对越来越复杂的分析情况,我们在实践中往往需要那种全局综合性的性能工具。在一个工具里面,将所有的数据收集展现在一起。本篇主要介绍一下基于开源架构的dstat性能分析工具。

1、Dstat下载与安装

Dstat是一个自由开放团体开发的开源软件,可以从作者网站上下载到,网址为:http://dag.wiee.rs/home-made/dstat/。

根据不同的操作系统版本,Dstat提供了不同版本的安装RPM或者其他格式安装包。笔者系统为红帽6.5,所以选择适合版本进行安装。

[root@xxx-MIGPC-DB uploads]# uname -a

Linux xxx-MIGPC-DB 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

[root@xxx-MIGPC-DB uploads]# ls -l

total 164

-rw-r–r– 1 root root 164276 Dec  3 09:25 dstat-0.7.2-1.el6.rfx.noarch.rpm

安装Dstat及其简单,借助rpm工具可以直接安装。

[root@xxx-MIGPC-DB uploads]# rpm -ivh dstat-0.7.2-1.el6.rfx.noarch.rpm

warning: dstat-0.7.2-1.el6.rfx.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY

Preparing…                ########################################### [100%]

1:dstat                  ########################################### [100%]

[root@xxx-MIGPC-DB uploads]# rpm -qa | grep dstat

dstat-0.7.2-1.el6.rfx.noarch

2、Dstat使用方法

从官方途径上,我们可以找到正式的dstat的html格式说明文档。在实际中,我们可以通过help参数来显示功能参数。

[root@xxx-MIGPC-DB uploads]# 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

–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

delay is the delay in seconds between each update (default: 1)

count is the number of updates to display before exiting (default: unlimited)

从参数类型上,我们可以看到Dstat对于操作系统的监控支持是比较全面的,包括CPU、内存、磁盘和网络等多个方面。针对不同的监控需要,用户只需要输入不同的控制参数,就可以在一个结果集合中进行持续性监控。

默认情况下,Dstat监控行为如下:

[root@xxx-MIGPC-DB uploads]# 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

1  0  98  0  0  0|1395B  41k|  0    0 |  0    11B| 410  2134

25  0  75  0  0  0|  0    0 |  60B  378B|  0    0 |2058  2057

25  0  75  0  0  0|  0    32k| 401B  635B|  0    0 |2112  2128

26  0  75  0  0  0|  0    0 |  60B  170B|  0    0 |2075  2067

25  1  75  0  0  0|  0    0 | 303B  170B|  0    0 |2069  2091

25  0  75  0  0  0|  0    64k| 120B  170B|  0    0 |2042  2052

25  0  75  0  0  0|  0    0 |  60B  170B|  0    0 |2121  2102

25  0  75  0  0  0|  0    0 |  60B  170B|  0    0 |2055  2075

25  1  74  0  0  0|  0    32k| 120B  170B|  0    0 |2091  2094

默认情况下,采用cdngy参数,监控CPU、磁盘、网络、内存分页和系统统计量。

如果需要单项监控,只需要输入单个参数即可。

[root@xxx-MIGPC-DB dev]# dstat -c

—-total-cpu-usage—-

usr sys idl wai hiq siq

1  0  98  0  0  0

16  1  83  0  0  0

16  1  83  0  0  0

17  2  78  4  0  0

16  1  83  0  0  0

如果需要显示时间,可以通过-t参数来指定。

[root@xxx-MIGPC-DB dev]# dstat -a -t

—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system– —-system—-

usr sys idl wai hiq siq| read  writ| recv  send|  in  out | int  csw |    time

1  0  98  0  0  0|1403B  41k|  0    0 |  0    11B| 410  2134 |03-12 10:18:34

16  1  80  3  0  0|  0  2280k|  53k  99k|  0    0 |2855  3135 |03-12 10:18:35

16  1  83  0  0  0|  0    32k|  53k  100k|  0    0 |2539  2842 |03-12 10:18:36

16  1  83  0  0  0|  0    0 |  53k  98k|  0    0 |2504  2799 |03-12 10:18:37

默认情况是每秒钟收集一次,如果希望和vmstat类似指定时间间隔和采样数量,可以直接在后面输入参数。

[root@xxx-MIGPC-DB dev]# dstat -at 3 10

—-total-cpu-usage—- -dsk/total- -net/total- —paging– —system– —-system—-

usr sys idl wai hiq siq| read  writ| recv  send|  in  out | int  csw |    time

1  0  98  0  0  0|1404B  41k|  0    0 |  0    11B| 410  2134 |03-12 10:24:42

16  1  83  0  0  0|  0    11k|  54k  97k|  0    0 |2513  2828 |03-12 10:24:45

17  1  83  0  0  0|  0    19k|  53k  96k|  0    0 |2493  2807 |03-12 10:24:48

17  1  82  0  0  0|  0    16k|  47k  93k|  0    0 |2460  2727 |03-12 10:24:51

17  1  82  0  0  0|  0    17k|  45k  92k|  0    0 |2423  2683 |03-12 10:24:54

从经验看,推荐使用的一种参数是-cdlmnpsy,可以比较充分的显示系统全貌。

[root@xxx-MIGPC-DB dev]# dstat -cdlmnpsy

—-total-cpu-usage—- -dsk/total- —load-avg— ——memory-usage—– -net/total- —procs— —-swap— —system–

usr sys idl wai hiq siq| read  writ| 1m  5m  15m | used  buff  cach  free| recv  send|run blk new| used  free| int  csw

1  0  98  0  0  0|1404B  41k|0.12 0.19 0.18|1458M  125M 13.6G  611M|  0    0 |0.0  0 0.4| 286M 7730M| 410  2134

17  1  82  0  0  0|  0    32k|0.19 0.21 0.18|1458M  125M 13.6G  611M|  51k  98k|  0  0  0| 286M 7730M|2540  2828

16  1  83  0  0  0|  0    0 |0.19 0.21 0.18|1458M  125M 13.6G  611M|  57k  103k|  0  0  0| 286M 7730M|2530  2862

17  1  82  0  0  0|  0    0 |0.19 0.21 0.18|1458M  125M 13.6G  611M|  52k  96k|  0  0  0| 286M 7730M|2498  2810

Dstat还支持将收集结果导出csv文件中。

[root@xxx-MIGPC-DB ~]# dstat -c –output res.csv

—-total-cpu-usage—-

usr sys idl wai hiq siq

1  0  98  0  0  0

18  1  82  0  0  0

17  1  82  0  0  0

17  1  82  0  0  0

18  1  82  0  0  0

16  1  83  0  0  0

16  1  83  0  0  0

16  1  83  0  0  0

15  1  84  0  0  0

17  1  83  0  0  0

[root@xxx-MIGPC-DB ~]# ls -l | grep res.csv

-rw-r–r–  1 root root  1955 Dec  3 10:28 res.csv

csv还是比较规整的类型。

17203031_1450936990Ppf1.jpg

3、结论

当我们进行操作系统层面全面监控的时候,Dstat作为一个开源工具,还是比较有实际价值的。

0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149618.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 成本=固定成本+可变成本_可避免固定成本是机会成本吗

    成本=固定成本+可变成本_可避免固定成本是机会成本吗1、固定成本和可变成本根据成本费用与产量的关系可将总成本费用分为:可变成本;是指随着产品产量的增减而成正比例变化的各项费用。固定成本:是指不随产品产量的变化的各项成本费用。半可变(或半固定)成本:有些成本费用属于半可变成本,如不能熄灭的工业炉的燃料费等。工资、营业费用和流动资金利息等也都可能既有可变因素,又有固定因素。必要时需将半可变(或半固定)成进一步分解为可变成本和…

    2022年10月22日
    0
  • 网关gateway详解_网关使用

    网关gateway详解_网关使用见:https://baike.baidu.com/item/%E7%BD%91%E5%85%B3/98992?fr=aladdin及其它。网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通…

    2022年10月26日
    0
  • 分类变量的卡方检验(python实现&SPSS实现)「建议收藏」

    分类变量的卡方检验(python实现&SPSS实现)「建议收藏」卡方介绍卡方检验是针对自变量和因变量都是分类数据,也就是说带有属性的数据;而单因素方差分析是自变量是分类数据,因变量是连续型的数据。还有一点:方差分析是参数检验,而卡方检验是属于非参数检验。卡方检验是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小:卡方值越大,偏差越大,越趋于不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。案例介绍本次实验是研究聚类结果和标签DR的关系,即检验我们的聚类有没有意义。

    2022年8月30日
    4
  • 什么是dom_字母圈术语大全

    什么是dom_字母圈术语大全DOM概述html加载完毕,渲染引擎会在内存中吧html文档生成一个DOM树,getElementById是获取DOM上的元素,然后操作的时候修改的该元素的属性什么是DOM和节点1、DOM由

    2022年8月4日
    4
  • ios分发平台搭建_app分发下载

    ios分发平台搭建_app分发下载iOS的内侧包管理,内部分发,或者企业包的分发和Android略有不同,需要通过manifest文件以及Safari内置命令来触发安装。

    2025年5月26日
    0
  • wireshark怎么抓包保存_wireshark保存抓包信息

    wireshark怎么抓包保存_wireshark保存抓包信息wireshark抓包使用wireshark抓包分析-抓包实用技巧前言本文整理一下日常抓包使用的一些方法及抓包分析的一些方法。本文基于wireshark2.2.6版本进行抓包处理。其他版本使用方式大同小异。自定义捕获条件wireshark可以将抓包数据保存到硬盘上。若需要长时间抓包的话,需要防止内存过大,因此一般需要指定一定大小切包,释放内存。在捕获-选项菜单中可以设置捕获包的一些配置。输入配置在…

    2022年9月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号