linux性能监控:CPU监控命令之dstat命令

简介: linux性能监控:CPU监控命令之dstat命令

640.jpg


CPU监控命令之dstat命令


1概述:


dstat是可以替代vmstat,iostat,netstat,ifstat的综合型替代品。同时去掉了他们的一些限制并加入了一些额外的特性,更多的组件和灵活性

dstat允许你实时查看系统资源的概要。例如,你能与IDE控制器的中断组合来对比磁盘利用率,或通过磁盘吞吐量来对比网络的带宽数量


2安装方法:


Ubuntu/Mint和Debin系统:

本地软件库中有相关安装包,你可以用下面命令安装:

# sudo apt-get install dstat

RHEL/Centos和Fedora系统:  

你可以在romforge软件库中添加有相关安装包,参照指导,使用如下命令很简单就能进行安装:

# yum install dstat


3常用命令格式:

dstat [-afv] [options..] [delay [count]]


4命令参数:

-c cpu是也,显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息  -C 当有多个CPU时候,此参数可按需分别显示cpu状态 -d disk是也,显示磁盘读写数据大小  -D hda and total  -n net 显示网络状态  -N net 有多块网卡时,指定要显示的网卡  -l load average 显示系统负载情况  -m memory 显示内存使用情况  -g page 显示页面使用情况  -p process 显示进程状态  -s swap 显示交换分区使用情况  -S 类似D/N  -r I/O请求情况  -y system status  --ipc 显示ipc消息队列,信号等信息  --socket 用来显示tcp udp端口状态  -a all 此为默认选项 等同于 -cdngy  -v vmstat 等同于 -pmgdsc -D total  --output 文件 此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。

5使用实例:


01

实例1:


命令:查看cpu使用情况:

dstat -c

输出:

640.png


说明:

usr: 用户进程消耗的CPU时间百分比

usr的值比较高时,说明用户进程消耗的CPU时间多,若长期超过50%的使用,需要考虑优化程序算法或 者进行加速。 

sys: 内核进程消耗的CPU时间百分比。sys的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,需要检查原因。 

idl: CPU处在空闲状态时间百分比

wai: IO等待消耗的CPU时间百分比。wa的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。 

hiq: 硬中断次数。 

siq: 软中断次数。


02

实例2:


命令:查看全部内存使用情况:

dstat -m

输出:


640.png

说明:

used: 使用的物理内存值。

buff: buffer cache的内存,对块设备的读写进行缓冲。

cache: page cache的内存, 文件系统的cache。若cache的值大说明cache住的文件数多,若频繁访问到的文件都能被cache住,那么磁盘的读IO bi 会非常小。

free: 空闲的物理内存。


03

实例3:


命令:查看系统的网络状态

dstat -n

输出:

640.png

04

实例4:


命令:查看系统的负载情况

dstat -l

输出:


640.png

05

实例5:


命令:查看系统的进程信息

dstat -p

输出:


640.png

06

实例6:


命令:查看系统的I/O请求情况

dstat -r

输出:

640.png

dstat的功能非常强大,除了上述常用用法外,更多功能大家自己研究


6特性: 


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


相关文章
|
5天前
|
Kubernetes 监控 Cloud Native
"解锁K8s新姿势!Cobra+Client-go强强联手,打造你的专属K8s监控神器,让资源优化与性能监控尽在掌握!"
【8月更文挑战第14天】在云原生领域,Kubernetes以出色的扩展性和定制化能力引领潮流。面对独特需求,自定义插件成为必要。本文通过Cobra与Client-go两大利器,打造一款监测特定标签Pods资源使用的K8s插件。Cobra简化CLI开发,Client-go则负责与K8s API交互。从初始化项目到实现查询逻辑,一步步引导你构建个性化工具,开启K8s集群智能化管理之旅。
14 2
|
2月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
|
9天前
|
监控 Java
(翻译)性能监控之百分位数监控
【8月更文挑战第10天】(翻译)性能监控之百分位数监控
23 1
(翻译)性能监控之百分位数监控
|
21天前
|
监控 Ubuntu Unix
Linux |Nethogs 监控网络使用情况
Linux |Nethogs 监控网络使用情况
46 9
Linux |Nethogs 监控网络使用情况
|
22天前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
30 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
22天前
|
缓存 Linux 虚拟化
linux 查看服务器cpu 与内存配置
linux 查看服务器cpu 与内存配置
48 4
|
21天前
|
监控 Unix Linux
ps aux 命令使用查看内存、cpu使用排名与top的区别
ps aux 命令使用查看内存、cpu使用排名与top的区别
46 1
|
2天前
|
监控 关系型数据库 Linux
肝了这么多夜,总结一下:Linux各项指标监控及问题排查。
肝了这么多夜,总结一下:Linux各项指标监控及问题排查。
|
2天前
|
存储 监控 Ubuntu
完全交互式!易于使用的 Linux 性能监控工具
完全交互式!易于使用的 Linux 性能监控工具
|
1月前
|
监控
主机状态监控,通过top命令查看CPU、内存使用情况,ctrl + c退出,输入top整个页面就变成一个任务管理器的形式了,Ctrl + C直接退出,Q也可以退掉了
主机状态监控,通过top命令查看CPU、内存使用情况,ctrl + c退出,输入top整个页面就变成一个任务管理器的形式了,Ctrl + C直接退出,Q也可以退掉了