足球盘口软件
当前位置: 足球盘口软件 > 前端 >
CentOS下性能监测工具,linux磁盘性能监控

CentOS下性能监测最新工具 dstat

dstat产生意义:

在进行性能测试的时候,我们一般需要检测很多方面的数据,这些数据包括CPU占用,内存占用情况,网络状况,load average,进程信息,磁盘信息等等。利用系统提供的命令一般来说可以完成这些数据的监测,但是一般来说,这些命令都是分散的,比如vmstat,iostat,ss,netstat。但是这样一来,命令太分散了,此时就迫切需要一款,可以集中监控的工具, dstat 即可以实现集中监控上述各项指标:

特性:

    • 结合了vmstat,iostat,ifstat,netstat以及更多的信息

    • 实时显示统计情况

    • 在分析和排障时可以通过启用监控项并排序

    • 模块化设计

    • 使用python编写的,更方便扩展现有的工作任务

    • 容易扩展和添加你的计数器(请为此做出贡献)

    • 包含的许多扩展插件充分说明了增加新的监控项目是很方便的

    • 可以分组统计块设备/网络设备,并给出总数

    • 可以显示每台设备的当前状态

    • 极准确的时间精度,即便是系统负荷较高也不会延迟显示

    • 显示准确地单位和和限制转换误差范围

    • 用不同的颜色显示不同的单位

    • 显示中间结果延时小于1秒

    • 支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形


dstat 默认情况下系统也并没有安装,下载链接:

Centos/Redhat下载链接:

图片 1

123#rpm-ivhdstat-0.7.2-1.el6.rfx.noarch.rpm``warning:dstat-0.7.2-1.el6.rfx.noarch.rpm:HeaderV3DSA``/SHA1``Signature,keyID6b8d79e6:NOKEY``Preparing...``###########################################[100%]

图片 2

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

直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔:默认情况下隔1秒显示一次,一直显示;

如 dstat 5 就是每5秒显示1条信息, dstat 1 10 即每1秒显示一条信息,一共显示10次;

默认情况下分五个区域:


1、 --total-cpu-usage---- CPU使用率

usr:用户空间的程序所占百分比;

sys:系统空间程序所占百分比;

idel:空闲百分比;

wai:等待磁盘I/O所消耗的百分比;

hiq:硬中断次数;

siq:软中断次数;


2、-dsk/total-磁盘统计

read:读总数

writ:写总数


3、-net/total- 网络统计

recv:网络收包总数

send:网络发包总数


4、---paging-- 内存分页统计

in: pagein(换入)

out:page out(换出)

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


5、--system--系统信息

int:中断次数

csw:上下文切换

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


默认情况下,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接口及其当前用量的一些动态数据


这里只是一部分,dstat还附带一些插件扩展它的功能,可以查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:

--disk-util :显示某一时间磁盘的忙碌状况

--freespace :显示当前磁盘空间使用率

--proc-count :显示正在运行的程序数量

--top-bio :指出块I/O最大的进程

--top-cpu :图形化显示CPU占用最大的进程

--top-io :显示正常I/O最大的进程

--top-mem :显示占用最多内存的进程

例:

1、监控swap,process,sockets,filesystem并显示监控的时间

图片 3

2、将dstat的执行结果,输出到文件:

图片 4

备注:输出的的 scv 文件,可以在 windows 下用 excel 打开,并生成图表;

图片 5

通过dstat --list可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面/usr/share/dstat中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等。

但这些插件并不能直接使用,它只是列出了可以提供这些功能,如果想用具体的监控插件还需要安装对应的包;

对 dstat 工具的使用就介到这里,笔者能力有限,如有疏漏不妥之处,还请不吝赐教!

dstat dstat产生意义: 在进行性能测试的时候,我们一般需要检测很多方面的数据,这些数据包括CPU占用,内存占用...

原文链接:

linux磁盘性能监控

linux下对于查看进程的命令很多也很强大,常用的如:ps top

但是在磁盘性能监控方面就没有那么统一了。

下面列举一些磁盘监控命令,此处只是起到抛砖引玉作用,详细使用参数请参考man手册。

一 df

df命令可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息,它也可以显示所有文件系统对i节点和磁盘块的使用情况。

常见的使用方法如:df -h 以人类容易阅读的方式显示。

二 du

du的英文原义为“disk usage”,含义为显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。该命令的功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。

常见使用方式有:列出当前目录大小:du -sh 如果希望列出当前目录中各个子目录大小 :du -sh *

三 fdisk

可以对磁盘进行分区,同时也可以查看整个磁盘大小,尤其是在磁盘刚买来还没有分区格式化的时候使用,可以使用:

fdisk /dev/(your disk name) 进入后使用p命令可以查看磁盘的详细信息。

四 iostat 可以提供丰富的IO状态数据

$ iostat -d -k 1 10

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。

使用-x参数可以获得更多统计信息,部分显示参数解释如下:

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的 时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个 设备相关的写入请求有多少被Merge了。

rsec/s:每秒读取的扇区数;wsec/: 每秒写入的扇区数。r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;

await:每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时 间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

五 vmstat 实时产看内存使用情况

不解释了,直接上结果:

$ vmstat 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 2037916 105012 725188    0    0    63    18  206  589  5  2 92  2  0 

想看清楚一些可以加 -S 后面跟 K M

$ vmstat -S M
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0   1903    104    723    0    0    57    17  207  613  5  2 92  2  0 

六 dstat 强大的网络 磁盘 cpu监控命令

彩色显示cpu、磁盘、网络、IO、内存等使用情况。

dstat 
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  5   2  92   2   0   0| 266k   70k|   0     0 |   0     0 | 825  2532 
  2   2  82  14   0   0|3596k   84k| 352B    0 |   0     0 | 894    12k
  3   3  83  11   0   0|2632k    0 |   0     0 |   0     0 |1025  7427 
  1   1  87  11   0   0|3020k   52k| 128B  142B|   0     0 | 534  4132 
  2   1  88   9   0   0|3236k    0 | 160B   78B|   0     0 | 597  6167 ^C

默认情况下分五个区域:

1、 --total-cpu-usage---- CPU使用率
usr:用户空间的程序所占百分比;
sys:系统空间程序所占百分比;
idel:空闲百分比;
wai:等待磁盘I/O所消耗的百分比;
hiq:硬中断次数;
siq:软中断次数;
2、 -dsk/total- 磁盘统计
read:读总数
writ:写总数
3、 -net/total- 网络统计
recv:网络收包总数
send:网络发包总数
4、 ---paging-- 内存分页统计
in: pagein(换入)
out:page out(换出)
注:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,通常情况下当系统已经开始用交换空间的时候,就说明你的内存已经不够用了,或者说内存非常分散,理想情况下page in(换入)和page out(换出)的值是0 0。
5、 --system-- 系统信息
int:中断次数
csw:上下文切换
注:中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。
默认情况下,dstat 会每隔一秒刷新一次数据,一直刷新并一直输出,按 Ctrl+C 退出 "dstat"

七 iotop 查看进程的io性能

以上命令只能查看整个硬盘的io性能,不能对每个进程的io性能进行监控。iotop则用于监控每个进程的io性能,

类似于查看进程状态的top命令,我这里需要超级权限才能运行

非常直观的显示每个进程的读写速度,不上结果了,自行验证。

八 nload 命令行实时监控网速

nload <eth0 / wlan0>

图片 6

附:查看系统中某个目录下占用空间最大的前十个文件夹:

<pre name="code" class="python">sudo  du -sh * ./ | sort -n -r | head -n 10

linux下对于查看进程的命令很多也很强大,常用的如:ps top 但是在磁盘性能监控方面就没有那么统一了。 下面列举一些磁...

参考链接:,

 

dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。

dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。

dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。

Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。

特性

  • 结合了vmstat,iostat,ifstat,netstat以及更多的信息
  • 实时显示统计情况
  • 在分析和排障时可以通过启用监控项并排序
  • 模块化设计
  • 使用python编写的,更方便扩展现有的工作任务
  • 容易扩展和添加你的计数器(请为此做出贡献)
  • 包含的许多扩展插件充分说明了增加新的监控项目是很方便的
  • 可以分组统计块设备/网络设备,并给出总数
  • 可以显示每台设备的当前状态
  • 极准确的时间精度,即便是系统负荷较高也不会延迟显示
  • 显示准确地单位和和限制转换误差范围
  • 用不同的颜色显示不同的单位
  • 显示中间结果延时小于1秒
  • 支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形

安装方法

  1. 在centos下 可以 yum -y instatll dstat

  2. 下载rpm包进行安装

 wget

 rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm

使用方法

dstat的基本用法就是输入dstat命令,输出如下:

图片 7

这是默认输出显示的信息:

默认情况下分五个区域:


1、 --total-cpu-usage---- CPU使用率

usr:用户空间的程序所占百分比;

sys:系统空间程序所占百分比;

idel:空闲百分比;

wai:等待磁盘I/O所消耗的百分比;

hiq:硬中断次数;

siq:软中断次数;


2、-dsk/total-磁盘统计

read:读总数

writ:写总数


3、-net/total- 网络统计

recv:网络收包总数

send:网络发包总数


4、---paging-- 内存分页统计

in: pagein(换入)

out:page out(换出)

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


5、--system--系统信息

int:中断次数

csw:上下文切换

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


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

 dstat 还有许多具体的参数,可通过man dstat命令查看,

常用参数如下:

通过dstat --list可以查看dstat能使用的所有参数

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

当然不止这些用法,dstat附带了一些插件很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:

  • -–disk-util :显示某一时间磁盘的忙碌状况
  • -–freespace :显示当前磁盘空间使用率
  • -–proc-count :显示正在运行的程序数量
  • -–top-bio :指出块I/O最大的进程
  • -–top-cpu :图形化显示CPU占用最大的进程
  • -–top-io :显示正常I/O最大的进程
  • -–top-mem :显示占用最多内存的进程

应用举例:

dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果

dstat 3 10

查看全部内存都有谁在占用:

dstat -g -l -m -s --top-mem

显示一些关于CPU资源损耗的数据:

dstat -c -y -l --proc-count --top-cpu

如何输出一个csv文件

# dstat –output /tmp/sampleoutput.csv -cdn

备注:输出的的 scv 文件,可以在 windows 下用 excel 打开,并生成图表;

 

返回顶部