Linux 性能监控工具

news/2024/10/12 20:26:51

在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27193.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

solidity进阶(更新中)

开启第二阶段,主要学习合约部署、测试和预言机。 CryptoZombies的教程是用Truffle,现在主流是Hardhat,但学一学思想也有益无害。 ---------------------------- update 5.3 学完了Truffle部署合约,后面几节是部署到它们的Loom网络,就不写这几节的笔记了 启动一个新的终端窗…

11.盛最多水的容器

中等 提示给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3…

redisson分布式锁原理

参考: 图灵课堂https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 https://blog.csdn.net/asd051377305/article/details/108384490 分布式锁的引入 当在单机单线程情况下,是不用考虑任何并发问题的,一切都是那么的美好,那么的顺其自然。 在单机多线程情况下,…

go学习05

gorm的使用 type User struct {gorm.ModelName stringAge intSex bool }func main() {db, err := gorm.Open("mysql", "root:password@/dbname?charset=utf8&parseTime=True&loc=Local")if err != nil {panic("failed to connect database…

一款现代化、高颜值的一站式智能运维管理平台

orion-ops-pro —— 一款现代化、高颜值的一站式智能运维管理平台,集资产管理、资产授权、批量执行、计划任务、WebShell、WebSftp、角色管理、系统管理等功能于一体,致力于简化运维团队的治理工作。大家好,我是 Java陈序员。 之前给大家介绍了一个简单好用安全的开源交互审…

引以为戒

你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你知道我要说什么你已经知道接下来会发生什么了,对吧?

【UWP】修改清单脱离沙盒运行

总说周知,UWP 是运行在沙盒里面的,所有权限都有严格限制,和沙盒外交互也需要特殊的通道,所以从根本杜绝了 UWP 毒瘤的存在。但是实际上 UWP 只是一个应用模型,本身是没有什么权限管理的,权限管理全靠 App Container 沙盒控制,如果我们脱离了这个沙盒,UWP 就会放飞自我了…