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以生成图形


相关文章
|
12月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1087 1
二、Linux文本处理与文件操作核心命令
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
799 137
|
12月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1739 58
|
11月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1686 2
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
931 16
|
12月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
1054 0
Linux内存问题排查命令详解
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
2255 0
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
460 0
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
814 0