美文网首页
【system】Linux上dstat的安装使用

【system】Linux上dstat的安装使用

作者: Bogon | 来源:发表于2023-09-29 00:02 被阅读0次

    一、 dstat 简介

    dstat是一个Linux系统监控工具,可以提供实时的系统性能数据,包括CPU、内存、磁盘I/O、网络流量等等。

    在进行性能测试的时候,我们一般需要检测很多方面的数据,这些数据包括CPU占用,内存占用情况,网络状况,load average,进程信息,磁盘信息等等。

    利用系统提供的命令一般来说可以完成这些数据的监测,但是一般来说,这些命令都是分散的,比如vmstat,iostat,ss,netstat。

    这样一来,命令太分散了,此时就迫切需要一款,可以集中监控的工具, dstat 即可以实现集中监控上述各项指标。

    在发现系统性能问题时,dstat可以帮助我们快速准确的找到问题所在,并采取相应的措施。

    image.png image.png

    二、 安装 dstat

    # yum -y install dstat 
    Installed:
      dstat.noarch 0:0.7.2-12.el7
    
    #  rpm -ql   dstat  
    /usr/bin/dstat
    
    # file  /usr/bin/dstat
    /usr/bin/dstat: Python script, ASCII text executable
    

    三、 dstat的简单使用

    安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。

    直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。

    可以在最后指定显示一条信息的时间间隔:默认情况下隔1秒显示一次,一直显示;
    如 dstat 5 就是每5秒显示1条信息, dstat 1 10 即每1秒显示一条信息,一共显示10次;

    image.png image.png

    默认情况下分五个区域:

    CPU使用率

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

    磁盘统计

    read:读总数
    writ:写总数
    

    网络统计

    recv:网络收包总数
    send:网络发包总数
    

    内存分页统计

    in: pagein(换入)
    out:page out(换出)
    

    注:系统的分页活动。
    分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,通常情况下当系统已经开始用交换空间的时候,就说明你的内存已经不够用了,或者说内存非常分散,理想情况下page in(换入)和page out(换出)的值是0 0。

    系统信息

    int:中断次数 
    csw:上下文切换
    

    注:中断(int)和上下文切换(csw)。
    这项统计仅在有比较基线时才有意义。
    这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。
    你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

    image.png

    默认情况下,dstat 会每隔一秒刷新一次数据,一直刷新并一直输出,按 Ctrl+C 退出 "dstat"。

    dstat 还有许多具体的参数,可通过man dstat命令查看,常用参数如下:

    -l :显示负载统计量
    
    -m :显示内存使用率(包括used,buffer,cache,free值)
    
    -r :显示I/O统计
    
    -s :显示交换分区使用情况
    
    -t :将当前时间显示在第一行
    
    –fs :显示文件系统统计数据(包括文件总数量和inodes值)
    
    –nocolor :不显示颜色(有时候有用)
    
    –socket :显示网络统计数据
    
    –tcp :显示常用的TCP统计
    
    –udp :显示监听的UDP接口及其当前用量的一些动态数据
    

    四 、一些案例

    1.CPU性能分析
    如果我们需要了解系统中CPU占用情况的性能数据,我们可以通过以下命令来监测:

    #  dstat --cpu --top-cpu
    

    该命令将实时输出各个进程的CPU占用情况,并以一个实时的“top”列表形式展示。
    通过该命令,我们可以快速发现CPU占用率最高的进程,以便进行后续的优化和改进。

    1. 磁盘IO性能分析

    在处理高并发的访问请求时,磁盘I/O往往是系统性能的瓶颈之一。
    如果我们需要了解系统中磁盘I/O的性能数据,可以通过以下命令进行监测:

    dstat --disk --top-bio
    

    该命令将实时输出各个分区的磁盘IO数据,并以一个实时的“top”列表形式展示。
    通过该命令,我们可以快速发现磁盘I/O占用率最高的分区,以便进行后续的优化和改进。

    1. 网络性能分析
      如果我们需要了解系统中网络流量的性能数据,可以通过以下命令进行监测:
    dstat --net --tcp --udp
    

    该命令将实时输出TCP和UDP连接情况、网络流量数据等,以帮助我们分析系统中的网络性能问题,并采取相应的措施。

    1. 查看时间、CPU、磁盘读写、IO、负载、内存、网络、最高的CPU占用和最高的内存占用
    dsta   -tcdrlmn --top-cpu   –top-mem 
    
    1. 查看8颗核心,每颗核心的使用情况和CPU使用情况
    dstat  -cl  -C  0,1,2,3,4,5,6,7   --top-cpu
    

    通过以上介绍,我们可以看到dstat是一个非常实用的Linux系统监控工具,可以帮助我们快速定位系统性能问题,并采取相应的措施。
    在实际的系统管理中,我们可以根据不同的场景使用不同的参数,以得到更加精准、详细的监控数据。

    五、参考

    性能监测工具 dstat
    https://www.pianshen.com/article/6777602614/

    Linux常用命令dstat命令具体使用方法
    https://www.lxlinux.net/3372.html

    相关文章

      网友评论

          本文标题:【system】Linux上dstat的安装使用

          本文链接:https://www.haomeiwen.com/subject/mpcrbdtx.html