全能系统监控工具dstat

全能系统监控工具dstat

一、什么是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:

全能系统监控工具dstat

3.2 获取其他应用信息:

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

--postfix 显示postfix队列大小

--sendmail 显示sendmail队列大小

--ntp 显示ntp服务器时间

--nfs3 获取nfs客户端信息

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

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

分类:默认分类 时间:2012-01-07 人气:5
本文关键词:
分享到:

相关文章

  • linux系统进程管理之dstat的使用 2014-04-28

    dstat一款多功能系统资源监视工具,支持的功能非常多例如:cpu、内存、负载、文件锁、socket套接字、网络、进程、分页文件、文件系统等等的众多内容都可以逐一显示。 dstat下载地址:http://pkgs.repoforge.org/dstat/ 如果centos中没有安装则可以直接使用yum安装,如果不想使用yum安装可以去上面的站点下载。 这是dstat的打开界面,它会一直刷新系统状态并且将这些内容返回到屏幕当中,如果直接输入dstat,程序则会提示“你没有做出任何筛选状态,将使用-

  • 如何定位mysql性能问题 2013-01-22

      1.首先利用系统工具,定位问题[ top | nmon | dstat -dcnml | orzdba ]:   top命令查看各个进程的资源占用情况,各个指标依次解读如下【top f|1 --help】 :   第一行:当前系统时间,系统运行时长,当前登录用户数,系统负载(任务队列的平均长度,三个数值分别为1,5,15分钟)【系统负载不要超过cpu的核数】   第二行:进程总数,正在运行的进程数据,睡眠的进程数,停止的进程数,僵尸进程数   第三行:用户空间占用cpu百分比,内核空间占用c

  • SSD卡顿很不爽 教你解决停止响应问题 2013-04-04

    SSD卡顿症状和原因 i7●SSD卡顿症状 近期购买了新款SSD的朋友,可能被一个现象困扰,就是系统无故停止响应或是卡顿。具体情况可以按照SSD的主控分别有如下表现: 1、Sandforce主控:正常操作电脑过程中,系统突然停止响应,硬盘灯狂闪,鼠标指针成为圆圈,点什么都没反应,这种状况可能会持续1~2分钟,之后正常。 2、C300主控:经常性短暂的卡顿,比如QQ聊天时能明显感觉到打字过程不连续,0.1s左右的间歇停顿,操作系统并不会锁死,没有SF主控那么严重,但也感觉很不爽。 这两种情况不论是

  • 利用CentOS快速构建自己的发行版 2013-05-03

    编者按:对于很多个人站长来说,每次业务扩容装Linux系统都是件很麻烦的事情。有的IDC技术不会装Linux系统,或者有的就是装一次系统收取一定的费用。为此制作一个精简的CentOS发行版是很重要的。下面就一起来看下具体制作过程吧。   一、制作LTOS具体过程   光盘结构介绍   * isolinux 目录存放光盘启动时的安装界面信息   * images 目录包括了必要的启动映像文件   * CentOS 目录存放安装软件包及信息   * .discinfo 文件是安装价质的识别信息   

  • [人在运维?逋?14]打扫干净屋子再请客 2013-07-03

    【人在运维?逋?14】打扫干净屋子再请客 【人在运维?逋?13】由LDAP服务器无法登陆来谈谈分析问题的思路 http://www.2cto.com/os/201304/205318.html 有些时候木有更新人在?逋局?宋?南盗心瘛⒔穸?鎏饽可韵晕囊?/div> 不过、俺觉得、这种方格不赖、可能后续的文全是这样咯 人在运维?逋咀芑岷头?衿鞴收喜黄诙?觥⒖目陌戆硪苍谒?衙?/div> 但是在轻视逻辑的状态下拼命找答案、只会浪费更多的时间、这是非常危险的 我记得福尔摩斯有提过: 在没有

  • OSSEC加固linux系统详细配置 2013-07-24

    OSSEC是一个开源的基于主机的入侵检测系统,执行日志分析,文件完整性检查,政策监控,rootkit检测,实时报警和积极响应。 它可以运行在大多数的操作系统,包括Linux,MacOS的时,Solaris,HP-UX,AIX和Windows 最新稳定版为2.8 下载页面 http://www.ossec.net/?page_id=19 Ossec部署方式为C/S,以下server:192.168.22.240 client:192.168.22.241 先关闭selinux,安装常用包 环境 C

  • Linux用户应知的高效率的技巧 2014-01-04

    Unix/Linux下,最有效率技巧的不是操作图形界面,而是命令行操作,因为命令行意味着自动化。 日常 在 bash 里,使用 Ctrl-R 而不是上下光标键来查找历史命令。 在 bash里,使用 Ctrl-W 来删除最后一个单词,使用 Ctrl-U 来删除一行。请man bash后查找Readline Key Bindings一节来看看bash的默认热键,比如:Alt-. 把上一次命令的最后一个参数打出来,而Alt-* 则列出你可以输入的命令。 回到上一次的工作目录: cd ? (回到home

  • linux查看硬盘IO 2014-08-16

    服务器io很大,但系统自带的命令,看不出来哪个进程产io, iotop是对系统内核有要求2.6.20以上的限制,还有一个工具dstat 最新版安装 wget -c http://linux.web.psi.ch/dist/scientific/5/gfa/all/dstat-0.6.7-1.rf.noarch.rpm rpm -ivh dstat-0.6.7-1.rf.noarch.rpm 使用方法: dstat -M topio -d -M topbio squid是正常应用里面最吃硬盘IO

  • centos系统初始化 2014-12-29

    centos系统初始化 初始化常用环境变量 1 # vi .bashrc 2 alias worksrc='cd /usr/local/src;ls' 3 配置生效 4 # source .bashrc yum预装常用的服务器软件 01 #vim linux编辑器 02 #wget 网络自动下载文件的工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载 03 #crontab cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 1.019 (s). 10 q(s)