CPU相关参数

-l, --load
       展示1分钟、5分钟和15分钟内的平均负载

-c, --cpu
       展示cpu状态,usr用户占比,sys系统占比,idl空闲占比,wai等待次数,这四个加和是100,hiq硬中断次数,siq软中断次数

-C 必须和-c配合使用:dstat -cC 0,3,total分别展示第0颗和第3颗以及总体cpu状态

--snooze
       展示每秒的CPU时钟频率,脚本位置/usr/share/dstat/dstat_snooze.py

进程相关参数

-p, --proc展示当前时刻的进程状态:可运行态(就绪态),无法中断的睡眠态(等待态),新进程,文档原文为:runnable, uninterruptible, new。就绪态进程多代表负载较高,配合-l参数确认,比如run为80,即当前有80个进程等待CPU处理,等待态进程多代表当前IO可能有问题,等待态进程是内存中等待非CPU资源的进程,一般是等待IO,可以根据-c的wai列确认,进一步根据-g的in列确认是否是内存瓶颈后的恢复期,配合-s参数查看换页使用情况,-d查看当前bio情况,如果-d的bio的read和-g的in差不多,表名当前IO主要是换页到内存加载造成的,即内存不足后的恢复期,如果-g和-s表名换页未使用,但是-d居高,则说明当前有大量进程等待磁盘IO,使用--top-bio-adv确定bio最高的进程,如果-d也不高,但是-n较高,说明进程等待网络IO使用--top-io-adv确定IO最高的进程。

--proc-count
       展示进程数量,侧面反映系统负载

-y, --sys
       展示系统中断次数int和上限文切换次数csw,上下文切换:CPU运行任务1,切换运行就绪态任务2,任务1可能变成就绪态(CPU时间片耗光),也可能变成等待态(等待IO等非CPU资源),CPU的处理时间片教短,中断和上下文切换次数数字会很大,也能从侧面反映负载,如果中断和上下文切换暴涨,表明负载过大,或者程序设计不合理,或者kernel级别的BUG。

-i, --int
       展示中断状态,如下图,设备号为32、33和35的设备产生了中断,查看/proc/interrupts确定设备号对应的设备信息。

-I 必须和-i配合使用:dstat -i -I 32,35指定设备号展示中断状态

--ipc
       展示IPC(进程间通信)状态, 包括msg消息队列 ,sem线程队列,shm共享内存使用

--dbus number of dbus connections (needs python-dbus)
       展示dbus连接数

进程最耗资源统计

以下脚本都存在于目录/usr/share/dstat中

--top-cpu
       展示最耗CPU的进程名和CPU占比

--top-cpu-adv
       展示最耗CPU的进程名、PID和CPU占比以及读写信息,这个读写信息是一个差值,推测是内存的读写。

--top-cputime
       展示耗费CPU时间最多的进程名和耗费时间(ms)

--top-cputime-avg
       展示平均最耗CPU时间片的进程名和时间耗费(ms)

--top-latency
       显示延迟最高的进程名和延迟时间(ms)

--top-latency-avg
       显示平均延迟最高的进程名和延迟时间(ms)

--top-bio
       展示当前最耗block I/O的进程名和读写的容量

--top-bio-adv
       展示当前最耗block I/O的进程名、PID和读写容量以及CPU占比即最高磁盘IO的进程。

--top-io展示最耗IO的进程名和IO读写信息,被统计的IO信息包括blockIO和内存还有网络等全部,因此如果要判定最耗磁盘读写的进程,应该使用--top-bio,某一时刻,最耗IO和最耗blockIO的进程不一定是同一个。

--top-io-adv
       展示最耗IO的进程名、PID和读写信息以及CPU使用占比

--top-mem
       展示最耗内存的进程名和内存消耗

--top-oom
       展示最先OOM杀死的进程,OOM是内存回收机制

--top-intshow most frequent interrupt命令报错,暂未研究。
--top-childwait展示等待子进程相应最多的进程,即等待子进程最多的父进程。show process waiting for child the most

内存相关参数

-m, --mem
       展示内存状态,包括used, buffers, cache, free

--vm       (hard pagefaults, soft pagefaults, allocated, free)展示虚拟内存状态,包括:majpf(hard pagefaults),minpf(soft pagefaults),alloc和free,具体意义未知。

换页空间相关参数

-g, --page展示内存到换页空间(swap)的使用情况,从内存到换页是out,从换页到内存是in,只有频繁的in和out才表明内存不足。

-s, --swap
       展示换页空间使用状态,换页空间有空间使用不代表内存不足,通过-g参数查看是否有频繁的换入换出来判断内存是否不足。

-S 必须和-s配合使用:dstat -sS swap1,total当存在多个换页空间时,指定展示某个swap和总体使用情况

网络相关参数

-n, --net
       展示总体网络收发状态,折算后附带单位友好展示

-N 必须和-n配合使用:dstat -n -N eth0,total当存在多网卡时,可以分别指定展示各个网卡的收发状态

--net-packets
       展示收发的包数量

--socket
       展示套接字状态,包括tot总数量,tcp套接字数量,udp套接字数量,raw原始套接字数量,frg(ip-fragments IP碎片)套接字数量。

--raw
       展示原始套接字(raw sockets接收本机网卡上的数据帧或者数据包的套接字)状态。

--tcp  (listen, established, syn, time_wait, close)展示tcp网络连接状态,lis监听的数量,act(established)活动的确立的数量,synTCP/IP的握手数量,tim(time_wait)发起关闭后的等待关闭态数量,clo关闭态数量,即命令netstat -tpln对应记录的搂取合并。

--udp
       展示udp网络连接状态,包括lis监听数量和act活动数量。

--unix (datagram, stream, listen, active)
       展示数据报(实现UDP)和虚电路(实现TCP/IP)数量,包括:dgm数据报数量,str虚电路数量,lis虚电路监听数量,act虚电路活动数量

硬盘相关参数

-d, --disk
       展示磁盘设备读写总计,折算后附带单位友好展示

-D 必须和-d配合使用:dstat -dD sda,sda2,total分别展示设备sda和sda2以及总体的读写状态

-r, --io
       展示I/O请求状态,包括读请求次数和写请求次数

--aio
       展示异步io状态速度

--disk-tps
       展示每个磁盘每秒事物读写数量

--disk-util
       展示每个磁盘使用百分比

文件系统参数

--freespace
       展示每个文件系统的使用情况

--fs
       展示文件系统状态,包括打开的文件数量和正在使用的inode数量

--lock展示文件锁状态(posix, flock, read, write):pos锁数量,lck锁数量,rea读锁数量,wri写锁数量

MYSQL相关参数

# mysql相关参数使用配置:
yum -y install MySQL-python
export DSTAT_MYSQL_HOST=127.0.0.1
export DSTAT_MYSQL_USER=root
export DSTAT_MYSQL_PWD='ecpss@123'
mkdir /var/lib/mysql
ln -s /usr/local/mysql/mysql.sock /var/lib/mysql/mysql.sock
# 如果功能报错,请修改/usr/share/dstat目录内对应脚本
# 如果参数--mysql5-cmds报错,则修改dstat_mysql5_cmds.py
--innodb-buffershow innodb buffer stats
--innodb-ioshow innodb I/O stats
--innodb-opsshow innodb operations counters
# 以上三个参数信息都由"show engine innodb status\G\n"获得,
# 因涉及os.popen3兼容问题,暂不研究
--mysql5-cmds展示mysql库所有的dml操作次数,包括:sel查询次数,ins插入次数,upd更新次数,del删除次数,加大dstat_mysql5_cmds.py的self.width参数,以免数据展示不全,该参数是展示数据的最大长度,数据由以下mysql库SQL提供:show global status like 'Com_select';show global status like 'Com_insert';show global status like 'Com_update';show global status like 'Com_delete';是mysql库的内存状态,重启后数据清零。

--mysql5-conn展示mysql库的已经打开的连接数数量和占比,数据由以下mysql库SQL提供:show global variables like 'max_connections';show global status like 'Threads_connected';ThCo当前打开的连接数数量,%Con数量占总连接数的百分比。

--mysql5-io展示mysql库与所有客户端的交互字节数:recv(Bytes_received)从所有客户端接收到的字节数,sent(Bytes_sent)发送给所有客户端的字节数,数据由以下mysql库SQL提供:show global status like 'Bytes_%';

--mysql5-keys展示mysql库的键缓存信息:used(Key_blocks_used)键缓存内使用的块数量,该值为高水位线标记,说明已经同时最多使用了多少块。read(Key_reads)从硬盘读取键的数据块的次数,如果Key_reads较大,则Key_buffer_size值可能太小,可以用Key_reads/Key_read_requests计算缓存损失率。writ(Key_writes)向硬盘写入将键的数据块的物理写操作的次数。rreq(Key_read_requests)从缓存读键的数据块的请求数。wreq(Key_write_requests)将键的数据块写入缓存的请求数。数据由以下mysql库SQL提供:show global status like 'Key_%';

--mysql-io和参数--mysql5-io功能相似,但只展示当前会话的IO信息,数据由以下mysql库SQL提供:show status like 'Bytes_%';
--mysql-keys和参数--mysql5-keys功能相似,但只展示当前会话的keys信息,数据由以下mysql库SQL提供:show status like 'Key_%';

dstat数据展示相关参数

-t, --time展示时间和日期,可以使用DSTAT_TIMEFMT参数改变格式export DSTAT_TIMEFMT='%Y-%d-%m %H:%M:%S'

-T, --epoch
       展示当前时间到1970-01-01 00:00:00 UTC间隔的秒数,即date +%s功能

--noheaders
       监控项的名称和参数信息(头两行信息)只输出一次,数据满屏后不再重复输出。
--output outputfile.csv
       将监控信息以csv格式写入文件
--float
       使用小数显示数据,与参数--integer互斥
--integer
       使用整数显示数据,与参数--float互斥
--bw, --blackonwhite
       改变数据输出的颜色,白色背景
--nocolor
       关闭彩色显示
--noupdate
       当数据刷新间隔大于1秒时,当前数据行会不断刷新,使用该参数关闭刷新功能。
--profile
       记录dstat命令调用的组件和时间资源消耗,生成日志文件,例:dstat --profile 1 5
--list
       列出内部和外部插件名称。

# 文本测试参数
# 修改dstat_test.py和dstat_helloworld.py脚本
# 更换测试文本
--test show test plugin output
--helloworldHello world example dstat plugin

Linux系统服务相关参数

# mail服务相关
--postfix
       show postfix queue sizes (needs postfix)
--sendmail
       show sendmail queue size (needs sendmail)
--qmail
       show qmail queue sizes (needs qmail)
# portmap服务相关
--rpc  show RPC client calls stats
--rpcd show RPC server calls stats
# squid服务相关
--squid
       show squid usage statistics
# nfs服务相关
--nfs3 show NFS v3 client operations
--nfs3-ops
       show extended NFS v3 client operations
--nfsd3
       show NFS v3 server operations
--nfsd3-ops
       show extended NFS v3 server operations
# gpfs服务相关
--gpfs GPFS read/write I/O (needs mmpmon)
--gpfs-ops
       GPFS filesystem operations (needs mmpmon)
# ntp服务相关
--ntp  show NTP time from an NTP server
# 分布式文件系统lustre相关
--lustre
       展示lustre文件系统IO吞吐,lustre文件系统是一种平行分布式文件系统。
# memcache相关
--memcache-hits
       展示memcache的命中和失误

dstat自我耗费相关参数

--dstat
       展示dstat命令的cpu时间消耗cput和延迟late
--dstat-cpu
       展示dstat命令的详细cpu使用情况
--dstat-ctxt
       展示dstat命令的上下文切换
--dstat-mem
       展示dstat命令的详细内存使用

硬件相关参数

# 以下数据需要ACPI模块支持:
lsmod | grep "acpi_cpufreq"
yum install -y cpufreq-utils
modprobe acpi_cpufreq
find /sys/ -name scaling_cur_freq
# 该模块支持x86架构,不支持xeon架构,
# 编译内核,加入P4-clockmod模块支持xeon。
--battery
       展示电池使用百分比,需要ACPI支持。
--battery-remain
       展示电池剩余使用时间,需要ACPI支持。
--cpufreq
       展示各个CPU频率百分比,需要ACPI支持。
--fan
       展示CPU风扇速度,需要ACPI支持。
--power
       展示当前功率消耗,需要ACPI支持。
--thermal
       展示硬件温度,需要ACPI支持。
# wifi监控和utmp监控,未找到对应模块
--wifi wireless link quality and signal to noise ratio
--utmp show number of utmp connections (needs python-utmp)

虚拟化架构参数

# 虚拟机ESX架构相关
--vm-memctl
       show ballooning status inside VMware guests
--vmk-hba
       show VMware ESX kernel vmhba stats
--vmk-int
       show VMware ESX kernel interrupt stats
--vmk-nic
       show VMware ESX kernel port stats
# 虚拟机OpenVZ架构相关
--vz-cpu
       show CPU usage per OpenVZ guest
--vz-io
       show I/O usage per OpenVZ guest
--vz-ubc
       show OpenVZ user beancounters

其他非重要参数

-a, --all展示5个默认参数-cdngy信息

-f, --full展示-C, -D, -I, -N, -S,需要和-cdins参数连用
-v, --vmstat等同于参数 -pmgdsc -D total

--plugin-name展示外部插件状态,外部插件是指用户自建的检测项目。根据man手册PLUGINS部分显示,应以支持的PLUGINS设备名替换--plugin-name,如:dstat --dstat-cpu这些外部插件实际上就是python脚本,可以在/usr/share/dstat找到对应脚本,也可以自己编写python脚本放入对应位置。

[TOC]

CentOS dstat 命令详解(二)参数详解相关推荐

  1. 线程池源代码详解,参数详解

    线程池源代码详解,参数详解 ThreadPoolExecutor 构造函数源代码 public ThreadPoolExecutor(int corePoolSize, int maximumPool ...

  2. ioctl函数详解(参数详解,驱动unlocked_ioctl使用、命令码如何封装)

    @ioctl函数详解 一.ioctl函数的原型 在用户空间的函数原型 #include <sys/ioctl.h> int ioctl(int d, int request, ...); ...

  3. linux查询内核参数命令,Linux内核启动参数详解

    1.环境: Ubuntu 16.04 Linux linuxidc 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_ ...

  4. Top命令查询结果界面参数详解

    Linux服务器性能分析可以使用top命令,可以查看cpu使用率等等 输入top命令,界面如下(ubuntu) 整体统计信息 第一行:系统运行状态和平均负载 ​ 第一个参数:目前的时间 :10:14分 ...

  5. Linux挂载命令mount用法及参数详解

    导读 mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了. 挂接命令(mount) 首先,介绍 ...

  6. gzip和gunzip 解压参数详解

    Linux压缩保留源文件的方法: gzip –c filename > filename.gz Linux解压缩保留源文件的方法: gunzip –c filename.gz > file ...

  7. ipriori weka java_weka apriori算法详解以及参数详解

    一.Apriori算法参数含义 本次共进行了9组实验,使用了weka安装目录data文件夹下的contact-lenses.arff数据. ToolsàArffViewer,打开contact-len ...

  8. ping ip 端口_学生会私房菜【20200305期】——Ping命令及其常用参数详解

    一命令原理 Ping是ICMP的一个典型应用.Ping是检测网络连通的常用工具,同时也能收集其他相关信息.用户可以在Ping命令中指定不同参数,如ICMP报文长度.发送的ICMP报文个数.等待回复响应 ...

  9. 计算机网络参数怎么看,电脑显示器参数详解 看完秒懂! 显示器参数怎么看?...

    显示器参数怎么看?无论是显示器的宣传.购买页面,还是专业媒体的显示器评测中,我们都会看到一些用来描述显示器性能的参数.小编觉着,显示器就像是电脑的一张面孔,显示着它的各种表情,也负责与用户的沟通,而显 ...

  10. scikit-learn 线性回归 LinearRegression 参数详解

    scikit-learn 线性回归 LinearRegression 参数详解 LinearRegression 参数详解 参考文献 LinearRegression 参数详解 # 从 sklearn ...

最新文章

  1. web前端----JavaScript的DOM(二)
  2. 书本练习题7print函数使用
  3. 字典中文乱码怎么处理_CATIA教程技巧和二次开发宏:我的零件有很多的几何体,但是几何体的名称是乱的,还有乱码,影响我的后续操作,我该怎么处理?...
  4. 拓端tecdat|用SAS进行泊松,零膨胀泊松和有限混合Poisson模型分析
  5. cad2017单段线_CAD制图规定-2017最新版.doc
  6. 亿赛通加密软件不显示小锁图标
  7. Docker镜像无法被删除的解决方法
  8. 贴片晶振邻层挖空背后的原理
  9. Browsers简介
  10. Exception: java.io.IOException: Keystore was tampered with, or password was incorrect
  11. 简易的定时发送生日邮件功能(Listener+定时器+使用java发送邮件)
  12. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest H题
  13. 电气火灾监控探测器安装在哪里?
  14. 2021年“深育杯“网络安全大赛Writeup
  15. (Python实现中文分词最大匹配算法)研究生命的起源
  16. window10 安装语言包出现“很抱歉,我们无法安装此功能。你可以稍后重试。错误代码: 0x80070422”
  17. 和讯网分行业和分省份社会责任指数(2010-2020年)
  18. Android智能识别 - 银行卡区域裁剪(原理篇)
  19. MIUI14使用技巧
  20. 【Unity Assetstore】上传插件

热门文章

  1. python treeview控件使用详解_winform Treeview控件使用
  2. NBGI 传说系列历史
  3. 我该怎么自学3D建模?
  4. My_arduino(4)-------LiquidCrystal_I2C库文件
  5. python cms应用生成_Django:之ORM、CMS和二维码生成
  6. 小米MIX 解BL锁教程 申请BootLoader解锁教程
  7. c语言编程智能交通灯系统,智能交通灯控制系统的研究
  8. php led显示屏控制软件下载,中航led控制软件
  9. 车机没有carlife可以自己下载吗_视频实测:苹果CarPlay和百度CarLife到底哪个更好用...
  10. 计算机视觉论文-2021-04-06