强大的性能监测工具dstat
强大的性能监测工具dstat
本节分为以下几个部分:
dstat介绍:
dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。\
安装:yum install -y dstat
dstat使用说明:
直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息
分组 分组含义及子项字段含义
CPU状态 CPU的使用率。显示了用户占比,系统占比、空闲占比、等待占比、硬中断和软中断情况。
磁盘统计 磁盘的读写,分别显示磁盘的读、写总数。
网络统计 网络设备发送和接受的数据,分别显示的网络收、发数据总数。
分页统计 系统的分页活动。分别显示换入(in)和换出(out)。
系统统计 统计中断(int)和上下文切换(csw)。
常见选项:
-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
-d:显示磁盘读写数据大小。
-D hda,total:include hda and total。
-n:显示网络状态。
-N eth1,total:有多块网卡时,指定要显示的网卡。
-l:显示系统负载情况。
-m:显示内存使用情况。
-g:显示页面使用情况。
-p:显示进程状态。
-s:显示交换分区使用情况。
-S:类似D/N。
-r:I/O请求情况。
-y:系统状态。
--ipc:显示ipc消息队列,信号等信息。
--socket:用来显示tcp udp端口状态。
-a:此为默认选项,等同于-cdngy。
-v:等同于 -pmgdsc -D total。
--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
命令选项
Options Details
-c, - -cpu 开启cpu统计
-C 该选项跟cpu的编号(0~cpu核数-1,多个用都好隔开)如:0,3,total表示分别包含cpu0、cpu3和total
-d, - -disk 开启disk统计
-D 改选跟具体的设备名(多个用逗号隔开)如:total,hda,hdb表示分别统计total、hda、hdb设备块
-g, - -page 开启分页统计
-i, - -int 开启中断统计
-I 5,10 没弄懂呢~巴拉巴拉
-l, - -load 开启负载均衡统计,分别是1m,5m,15m
-m, - -mem 开启内存统计,包括used,buffers,cache,free
-n, - -net 开启net统计,包括接受和发送
-N 该选项可以跟网络设备名多个用逗号隔开,如eth1,total
-p, - -proc 开启进程统计,包括runnable, uninterruptible, new
-r, - -io io开启请求统计,包括read requests, write requests
-s, - -swap 开启swap统计,包括used, free
-S 该选项可以跟具体的交换区,多个用逗号隔开如swap1,total
-t, - -time 启用时间和日期输出
-T, - -epoch 启用时间计数,从epoch到现在的秒数
-y, - -sys 开启系统统计,包括中断和上下文切换
-aio
开启同步IO统计 (asynchronous I/O)
-fs
开启文件系统统计,包括 (open files, inodes)
-ipc
开启ipc统计,包括 (message queue, semaphores, shared memory)
-lock
开启文件所统计,包括 (posix, flock, read, write)
-raw
开启raw统计 (raw sockets)
-socket
开启sockets统计,包括 (total, tcp, udp, raw, ip-fragments)
-tcp
开启tcp统计,包括(listen, established, syn, time_wait, close)
-udp
开启udp统计 (listen, active)
-unix
开启unix统计(datagram, stream, listen, active)
-vm
开启vm统计 (hard pagefaults, soft pagefaults, allocated, free)
-stat
通过插件名称开启插件扩展,详见命令插件 :可能的内置插件为aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, net, page, page24, proc, raw, socket, swap, swapold, sys, tcp, time,udp, unix, vm
-list
列举内置插件扩展的名称
-a, - -all 是默认值相当于 -cdngy (default)
-f, - -full 相当于 -C, -D, -I, -N and -S
-v, - -vmstat 相当于 -pmgdsc -D total
-bw, - -blackonwhite
在白色背景终端上改变显示颜色
-float
在屏幕上的输出强制显示为浮点值(即带小数)(相反的选项设置为 - -integer)
-integer
在屏幕上的输出强制显示为整数值,此为默认值(相反的选项设置为- -float)
-nocolor
禁用颜色(意味着选项 - -noupdate)
-noheaders
禁止重复输出header,默认会打印一屏幕输出一次header
-noupdate
当delay>1时禁止在过程中更新(即在时间间隔内不允许更新)
-output file
输出结果到cvs文件中
命令参数
参数名称 参数描述
delay 两次输出之间的时间间隔,默认是1s
count 报告输出的次数,默认是没有限制,一直输出知道ctrl+c
命令插件
虽然anyone可以自由的为dstat编写插件,但dstat附带大量的插件已经大大扩展其功能,下面是dstat附带插件的一个概述:
插件名称 插件描述
-battery
电池电池百分比(需要ACPI)
-battery-remain
电池剩余小时、分钟(需要ACPI)
-cpufreq
CPU频率百分比(需要ACPI)
-dbus
dbus连接的数量(需要python-dbus)
-disk-util
显示某一时间磁盘的忙碌状况
-fan
风扇转速(需要ACPI)
-freespace
每个文件系统的磁盘使用情况
-gpfs
gpfs读/写 I / O(需要mmpmon)
-gpfs-ops
GPFS文件系统操作(需要mmpmon)
-helloworld
dstat插件Hello world示例
-innodb-buffer
显示innodb缓冲区统计
-innodb-io
显示innodb I / O统计数据
-innodb-ops
显示innodb操作计数器
-lustre
显示lustreI / O吞吐量
-memcache-hits
显示memcache 的命中和未命中的数量
-mysql5-cmds
显示MySQL5命令统计
-mysql5-conn
显示MySQL5连接统计
-mysql5-io
MySQL5 I / O统计数据
-mysql5-keys
显示MySQL5关键字统计
-mysql-io
显示MySQL I / O统计数据
-mysql-keys
显示MySQL关键字统计
-net-packets
显示接收和发送的数据包的数量
-nfs3
显示NFS v3客户端操作
-nfs3-ops
显示扩展NFS v3客户端操作
-nfsd3
显示NFS v3服务器操作
-nfsd3-ops
显示扩展NFS v3服务器操作
-ntp
显示NTP服务器的ntp时间
-postfix
显示后缀队列大小(需要后缀)
-power
显示电源使用量
-proc-count
显示处理器的总数
-rpc
显示rpc客户端调用统计
-rpcd
显示RPC服务器调用统计
-sendmail
显示sendmail队列大小(需要sendmail)
-snooze
显示每秒运算次数
-test
显示插件输出
-thermal
热系统的温度传感器
-top-bio
显示消耗块I/O最大的进程
-top-cpu
显示消耗CPU最大的进程
-top-cputime
显示使用CPU时间最大的进程(单位ms)
-top-cputime-avg
显示使用CPU时间平均最大的进程(单位ms)
-top-io
显示消耗I/O最大进程
-top-latency
显示总延迟最大的进程(单位ms)
-top-latency-avg
显示平均延时最大的进程(单位ms)
-top-mem
显示使用内存最大的进程
-top-oom
显示第一个被OOM结束的进程
-utmp
显示utmp连接的数量(需要python-utmp)
-vmk-hba
显示VMware ESX内核vmhba统计数
-vmk-int
显示VMware ESX内核中断数据
-vmk-nic
显示VMware ESX内核端口统计
-vz-io
显示每个OpenVZ请求CPU使用率
-vz-ubc
显示OpenVZ用户统计
-wifi
无线连接质量和信号噪声比
常用插件
插件名称 插件描述
-disk-util
显示某一时间磁盘的忙碌状况
-freespace
显示当前磁盘空间使用率
-proc-count
显示正在运行的程序数量
-top-bio
显示块I/O最大的进程
-top-cpu
显示CPU占用最大的进程
-top-io
显示正常I/O最大的进程
-top-mem
显示占用最多内存的进程
案例:
监察cpu情况 -c
监察磁盘 -d
dstat
--disk-tps #每秒每个磁盘事务(tps)统计
--disk-util #磁盘利用率百分比
-d 分别显示磁盘的读、写总数。
1
2
3
4
推荐链接:
linux命令—dstat:https://blog.csdn.net/yue530tomtom/article/details/75443305\
dstat命令:http://man.linuxde.net/dstat
dstat源码:https://github.com/dagwieers/dstat/blob/master/dstat#L602
————————————————
版权声明:本文为CSDN博主「Ian_安安」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_34789167/article/details/80986709
强大的性能监测工具dstat的更多相关文章
- CentOS下性能监测工具 dstat
原文链接:http://www.bkjia.com/Linuxjc/935113.html 参考链接:https://linux.cn/article-3215-1.html,http://lhfli ...
- [转]CentOS下性能监测工具 dstat
原文链接:http://www.bkjia.com/Linuxjc/935113.html 参考链接:https://linux.cn/article-3215-1.html,http://lhfli ...
- JDK内置性能监测工具使用
Java自带的性能监测工具用法简介——jstack.jconsole.jinfo.jmap.jdb.jsta.jvisualvmJDK内置工具使用 一.javah命令(C Header and Stu ...
- Linux 性能监测工具总结
前言: Linux系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来判断究竟是哪一部分(内存.CPU.硬盘……)出了问题.在Linux系统中,所有的运行参数保存在虚拟目录/ ...
- pyDash:一个基于 web 的 Linux 性能监测工具
pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的.经测试,在下面这些主流 Linux 发行版上可运行:Cen ...
- Java虚拟机性能监测工具Visual VM与OQL对象查询语言
1.Visual VM多合一工具 Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具,它集成了多种性能统计工具的功能,使用 Visual VM 可以代替jstat.jmap.jha ...
- 网络性能监测工具smokeping
smokeping简介: smokeping是rrdtool的作者Tobi Oetiker的作品,所以它在图形显示方面有很大优势,也是一个很有特点的opensource工具:多种探测方式,包括fpin ...
- 数据库性能监测工具——SQL Server Profiler
使用SQL Server Profiler 进行sql监控需要一些设置: 其他的就是进行分析了~ 清除SQL SERVER缓存 常用的方法: DBCC DROPCLEANBUFFERS 从缓冲池中删除 ...
- JVM性能监测工具——VisualVM
Java本身自带了有好几个jvm监测工具,其中jconsole和jvisualvm这两个工具具有图形化界面,可以监测到cpu.类.线程.堆等一些参数,而且具有远程监控的能力. 启动:打开cmd命令窗口 ...
随机推荐
- golang--连接redis数据库并进行增删查改
(1)安装第三方开源的redis库: (2)在使用redis之前,需要安装第三方库,在GOPATH路径下执行安装指令--$GOPATH$:go get github.com/garyburd/redi ...
- Java连载50-import导入、访问控制权限修饰符
一.import 1.import语句用来完成导入其他类,同一个包下的类不需要再导入 不在同一个包下需要手动导入. 2.import语法格式 import 类名: import 包名.*; //imp ...
- angularjs 一篇文章看懂自定义指令directive
壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如 ...
- Redis 笔记整理:回收策略与 LRU 算法
Redis的回收策略 noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但DEL和几个例外) allkeys-lru: 尝试回收最少使用的键(L ...
- IT兄弟连 Java语法教程 数据类型2
整型 Java定义了4种整数类型:byte.short.int和long.所有这些类型都是有符号的.正或负的整数.Java不支持无符号的.只是正值的整数.许多其它计算机语言同时支持有符号和无符号整数. ...
- KeContextToKframes函数逆向
在逆向_KiRaiseException(之后紧接着就是派发KiDispatchException)函数时,遇到一个 KeContextToKframes 函数,表面意思将CONTEXT转换为 TRA ...
- windows7_删除”右键-新建“菜单中的多余项
这边文章比较好用:分享下 https://blog.csdn.net/ddgweb/article/details/17993251 在使用windows7的过程中,由于安装了较多的软件,在桌面或者资 ...
- 最近的项目系之2——core3.0整合Autofac
1.前言 core3.0与之前版本相比,有一些brokenchanges,那周边一些配套组件往往也难逃brokenchanges,Autofac也不例外.这里重点关注core整合Autofac,与之前 ...
- python验证码识别(2)极验滑动验证码识别
目录 一:极验滑动验证码简介 二:极验滑动验证码识别思路 三:极验验证码识别 一:极验滑动验证码简介 近些年来出现了一些新型验证码,不想旧的验证码对人类不友好,但是这种验证码对于代码来说识别难度上 ...
- C++ 赋值运算符'='的重载(浅拷贝、深拷贝)
01 赋值运算符重载的需求 有时候希望赋值运算符两边的类型可以不匹配,比如:把一个 int 类型变量赋值给一个Complex(复数)对象,或把一个 char* 类型的字符串赋值给一个字符串对象,此时就 ...