美文网首页
【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