Linux 性能监控工具

在Linux系统中有很多流行且经常使用的系统资源监控工具,例如:vmstat、netstat、iostat、ifstat和mpstat, 这些工具可用于监控不同系统组件的统计信息, 包括:虚拟内存、网络连接和接口、CPU、输入/输出设备等。

dool是一款功能强大且灵活的多功能命令行工具, 除了提供上述工具提供的功能之外, 还具备额外的功能和能力, 用于监控Linux系统资源的各个方面, 如:CPU、内存、网络、负载均衡等, 该工具还具备额外的功能和计数器, 而且非常容易扩展, 如果具备Python编程能力,还可以构建属于自己的插件, 最后该工具的界面让人感觉舒适。

dool的核心功能如下:

  • 能够汇聚来自vmstat、netstat、iostat、ifstat和mpstat工具的信息。

  • 显示统计信息

  • 具有排序计数器功能且可高度扩展。

  • 支持对网络设备进行汇总。

  • 显示每个设备的中断。

  • 在精确的时间框架下工作, 不会因系统受到高强度压力时发生时间偏移。

  • 支持彩色输出, 以不同颜色表示不同的单位。

  • 支持将CSV格式输出或导出到Gnumeric和Excel文档。

安装dool工具非常简单, 以ubuntu为例, 直接输入以下命令安装即可:

[root@hankyoon]# git clone https://github.com/scottchiefbaker/dool.git
[root@hankyoon]# cd dool 

[root@dool]# .
/install.py

以下是使用dool工具在不加任何参数的情况下执行输出结果, dool默认加载的插件包括:cpu、disk、net、load, 如图:

[root@hankyoon dool]# dool 

上述输出信息包括以下几个维度:

  • CPU使用率:用户(user)进程、系统(sys)进程以及空间(idl)和等待(wai)进程的CPU使用率, 以及被窃取的时间(stl)。

  • 磁盘统计信息:磁盘上的读取(read)和写入(writ)操作的总数。

  • 网络统计信息: 网络接口上接收(recv)和发送(send)的总字节数。

  • 负载平均值: 显示系统在不同时间间隔(1分钟、5分钟和15分钟)内的平均负载。

  • 系统统计信息: 提供了数据收集的时间戳。

如果要显示vmstat显示的信息, 可以使用-v或--vmstat参数, 如图:

[root@hankyoon dool]# dool --vmstat

在上图中, 显示下以下信息:

  • 进程统计信息: 运行(run)、阻塞(BLK)和新生成(new)进程的数量。

  • 内存统计信息: 已用(used)、缓冲(buff)、缓存(cach)和空闲(free)内存的数量。

下面看一个高级案例, 如果想要监控一个使用最多CPU并消耗内存最多的单个程序需要输入什么命令?命令参数如下:

  • -c : CPU使用率

  • --top-cpu: 使用最多CPU的进程

  • -dn: 磁盘和网络统计信息

  • --top-mem: 消耗最多内存的进程

完整命令执行后结果如图:

[root@hankyoon dool]# dool -c --top-cpu -dn --top-mem

 另外,还可以启用--output选项将dool的输出存储到.csv文件中,以便离线分析, 完整命令如下:

[root@hankyoon dool]# dool --time --cpu --mem --load --output /tmp/report.csv 1 5

该命令的作用是显示时间、CPU、内存和系统负载统计信息, 每5次计数更新之间延迟一秒, 输出的report.csv

转自:https://mp.weixin.qq.com/s/dDc_BqNFxgLEOqOUxDP7Pw

posted @ 2024-05-03 17:28  __Yoon  阅读(19)  评论(0编辑  收藏  举报