如何建立商城网站,公众号网站怎么做的,佛山微网站,wordpress主机怎么建站前言
在开发和运维过程中#xff0c;经常会遇到难以定位的应用问题#xff0c;我们通常需要借助Linux系统资源监控工具来辅助诊断。然而#xff0c;系统的IO、网络、CPU使用率以及文件句柄等信息通常需要通过多个独立的命令工具来获取。在没有部署如Prometheus这样的综合…前言
在开发和运维过程中经常会遇到难以定位的应用问题我们通常需要借助Linux系统资源监控工具来辅助诊断。然而系统的IO、网络、CPU使用率以及文件句柄等信息通常需要通过多个独立的命令工具来获取。在没有部署如Prometheus这样的综合监控系统的情况下收集这些基础性能指标不仅会增加沟通成本还会耗费额外的时间。
针对以上难题DBdoctor推出了一款开源的 Linux 系统监控工具systool支持一键诊断欢迎各位小伙伴体验试用并期待您的宝贵建议让我们共同推动技术的进步
工具介绍
systool是我们基于eBPF以及BCC-tool开发了一款开源的系统诊断小工具。可快速便捷的收集当前系统的负载、CPU使用率、内存消耗、I/O性能和网络状况等关键指标只需一键操作就可实现Linux系统的高效监控。
工具编译
确保内核编译配置中包含以下两项
CONFIG_DEBUG_INFO_BTFyCONFIG_DEBUG_INFOy
以及安装了llvm编译器进入项目目录后直接make即可。
工具使用
参数介绍 -C, --noclear 不清除打印 -p, --pidPID 进程号该工具支持针对单个进程进行分析文件IO以及网络IO -t, --typeTYPE 进程类型当前支持mysql -v, --verbose 打印eBPF相关的debug信息
以正在压测的MySQL为例拿到mysqld的进程号后执行./systool -p 27085 -t mysql, 获取到的数据如下 由上图可知 time : 打印了当前的系统时间 loadavg: 打印了当前系统的负载信息 sys limits: 打印了当前系统的文件句柄限制、进程数限制以及swap信息 cpu: 打印当前CPU的数量及当前指定进程的CPU使用率 mem: 打印当前系统的内存大小以及指定进程的内存使用情况 soft interrupts : 打印当前系统的软中断情况 IO打印当前进程的IO情况每个线程的读写次数读写速率操作文件名上级目录名当type为MySQL时根据文件名进行文件归类展现文件类型是表或者是UNDO LOG、BIN LOG以及临时文件 TCP打印当前进程(或系统)的TCP协议的网络传输速率
当前MySQL正在进行压测写入可以看到CPU占用比较高达到了4.96c; 而在文件IO中可以看到BIN LOG文件在频繁写入每秒达到了64次而数据库ffff中表明sbtest8这张表文件有大量的数据写入每秒有1MB的写入速率。
项目地址
https://github.com/juhaokan 小结
systool工具在对特定进程如 MySQL进行分析时用户可以指定进程并获取详细的文件 IO 和网络传输数据。这种精准的数据收集可帮助用户迅速识别出可能导致性能下降的因素比如高 CPU 占用、频繁的文件写入操作以及网络瓶颈等。
通过该工具可快速的对Linux系统的多个指标进行查看能够实现对系统状态的全面把握从而为系统优化和故障修复提供数据支持辅助问题排查对问题可以进行一个方向上的初步定位为日常运维工作提供极大的便利。 ************************************************************************************************************* DBdoctor官网地址https://www.dbdoctor.cn/?utm02