dstat工具使用介绍
一、dstat工具
多功能系统资源统计生成工具。获取信息类似top、free、iostat、vmstat等多个工具的合集,所以也称为vmstat、iostat、ifstat等工具替代品,其结果可以存储成csv文件,进而通过脚本或第三方工具对性能进行分析。使用前需要安装,但部分OS做了默认安装。
二、dstat安装
rpm -Uvh dstat-0.6.7-1.el*.rf.noarch.rpm 或yum -y install dstat安装下即妥
三、dstat使用
dstat命令有默认选项,执行dstat命令不加任何参数,默认会收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1
dstat [-afv] [options] [delay [count]]
1.直接跟数字,表示#秒收集一次数据,默认为一秒;dstat 5表示5秒更新一次
2.-c,–cpu 统计CPU状态,包括 user, system, idle(空闲等待时间百分比), wait(等待磁盘IO), hardware interrupt(硬件中断), software interrupt(软件中断)
3.-d, –disk 统计磁盘读写状态,-D total,sda 统计指定磁盘或汇总信息
4.-l, –load 统计系统负载情况,包括1分钟、5分钟、15分钟平均值
5.-m, –mem 统计系统物理内存使用情况,包括used, buffers, cache, free
6.-s, –swap 统计swap已使用和剩余量
7.-n, –net 统计网络使用情况,包括接收和发送数据,-N eth1,total 统计eth1接口汇总流量
8.-r, –io 统计I/O请求,包括读写请求
9.-p, –proc 统计进程信息,包括runnable、uninterruptible、new
10.-y, –sys 统计系统信息,包括中断、上下文切换
11.-t 显示统计时时间,对分析历史数据非常有用
12.–fs 统计文件打开数和inodes数
四、显示结果说明
–cpu–
usr:用户进程消耗的CPU时间百分比
usr的值比较高时,说明用户进程消耗的CPU时间多,若长期超过50%的使用,需要考虑优化程序算法或 者进行加速。
sys:内核进程消耗的CPU时间百分比。sys的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,需要检查原因。
idl:CPU处在空闲状态时间百分比
wai:IO等待消耗的CPU时间百分比。wa的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。
hiq:硬中断次数。
siq:软中断次数。
–memory–
used:使用的物理内存值。
free:空闲的物理内存。
buff:buffer cache的内存,对块设备的读写进行缓冲。
cache:page cache的内存, 文件系统的cache。若cache的值大说明cache住的文件数多,若频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。
–swap–
si:交换内存使用,由磁盘调入内存
so:交换内存使用,由内存调入磁盘
内存够用的时候,这2个值都是0,若si,so长期>0,系统性能会受到影响,磁盘IO和CPU消耗大。
–procs–
r:运行的和等待cpu时间片运行的进程数,若长期>1需要引起注意考虑增加cpu。
b:处于不可中断状态的进程数,常见的情况是由IO引起的。
–IO–
read/bi:从块设备读入的数据总量(读磁盘) (KB/s)
write/bo:写入到块设备的数据总理(写磁盘) (KB/s)
随机磁盘读写的时候,这2个值越大(如超出1M),能看到CPU在IO等待的值也会越大。
–system–
int:interrupt 每秒产生系统的中断次数
csw:context switch 每秒产生的上下文切换次数
int,csw越大,内核消耗的CPU时间会越多。
dstat工具使用介绍的更多相关文章
- 星型数据仓库olap工具kylin介绍
星型数据仓库olap工具kylin介绍 数据仓库是目前企业级BI分析的重要平台,尤其在互联网公司,每天都会产生数以百G的日志,如何从这些日志中发现数据的规律很重要. 数据仓库是数据分析的重要工具, 每 ...
- linux下内存泄露检测工具Valgrind介绍
目前在linux开发一个分析实时路况的应用程序,在联合测试中发现程序存在内存泄露的情况. 这下着急了,马上就要上线了,还好发现了一款Valgrind工具,完美的解决了内存泄露的问题. 推荐大家可以使用 ...
- Java XML解析工具 dom4j介绍及使用实例
Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...
- 【转载】JMeter学习(一)工具简单介绍
JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...
- 第二章 Qt常用工具的介绍
第二章 Qt常用工具的介绍 (1)No.1 qmake 相信编写过Makefile的开发人员,随着工程中源码的级数递增和以类型.功能.模块组织源码的子目录的增多,都不愿意重复机械地手工编写这个工程管理 ...
- 【硬件】DELLserver硬件监控及DELL系统管理工具OMSA介绍
1.1.1. DELLserver硬件监控及DELL系统管理工具OMSA介绍 本文介绍採用使用Nagios和OMSA监控DELLserver的硬件健康状态,Nagios监控的方式是NRPE模式,须要配 ...
- 性能测试开源小工具——http_load介绍
淘测试 性能测试开源小工具——http_load介绍 meizhu 发表于:2009-07-02 浏览:3552次 评论:1次 所属分类: 性能测试 性能测试开源小工具——http_load介绍 ht ...
- Web Service单元测试工具实例介绍之SoapUI
原文 Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组 ...
- 【硬件】DELLserver硬件监控和DELL系统管理工具OMSA介绍
1.1.1. DELLserver硬件监控和DELL系统管理工具OMSA介绍 本文介绍了利用使用Nagios和OMSA显示器DELLserver硬件健康状况,Nagios监控的方式是NRPE模式,须要 ...
随机推荐
- vue 之 折线图挤压
当tab标签栏变动时,echarts图会发生挤,这种情况,发现是html容器的width=100%这个设置,变成了width=100px. 解决方式: 1.设置一个最小宽度,获取width的值,当这个 ...
- day10servlet编程
Servlet学习的大纲: . servlet概念及相关接口简介 . servet 执行过程 . servlet路径映射 . 缺省servlet --应用 . servlet生命周 ...
- VS13+OPCV2.4.11
转载:http://blog.csdn.net/a934270082/article/details/50843266?locationNum=3&fps=1 1. 配置系统环境变量:计算机 ...
- python 学习笔记8 (模块)
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...
- CentOS6下用yum升级系统最新内核版本
首先当你决定升级内核时,要想清楚为什么升级内核,因为升级内核会带来很多麻烦.所以这种事情能避免就避免 导入 Public Key rpm --import https://www.elrepo.org ...
- 洛谷P1070 道路游戏
P1070 道路游戏 题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将 ...
- IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量
在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12 未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...
- Delphi调用C# 编写dll动态库
Delphi调用C# 编写dll动态库 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目WZPayDll, using System.Runtime.InteropServices ...
- C语言实现折半插入算法
#include <stdio.h> int BInsertSort(int array[],int left,int right){ //接收主函数调用语句中的实参传到这里的形参里 in ...
- Js 数组对象排序
1.定义函数 /** * 数组对象排序函数 * @param {any} name 排序字段 * @param {any} order 升.降(这里事true.false记得处理下) */ var b ...