📜  Collectl - Linux 中的性能分析工具(1)

📅  最后修改于: 2023-12-03 14:40:09.844000             🧑  作者: Mango

Collectl - Linux 中的性能分析工具

collectl是一个用于管理和监测Linux系统性能的全面工具,使用它可以获取各种系统性能摘要信息。它是一个开源的、轻量级的、高度可拓展的工具。collectl的工作方式非常简单,它直接读取Linux系统的/proc文件系统中的性能数据,并存储为CSV格式的文件。

安装

在Ubuntu上安装:

sudo apt-get install collectl

在Red Hat标准的Linux发行版上安装:

sudo yum install collectl
使用
收集系统性能数据并输出到终端

以下是一个示例命令,用于收集系统性能数据并输出到终端。它将每一秒钟收集一次数据,并显示出CPU、内存、磁盘和网络性能数据。

collectl -sCdn

执行后,你会看到类似下面这样的输出:

waiting for 1 second sample...
#<------------------------CPU-----------------------><------Disks-----><----------Net----------><---------------Memory------------------>
#cpu sys inter  ctxsw KBIn  Reads  KBOut Writes   KBCCW  InPkt OutPkt InSeg OutSeg   MajPF MinPF  AvgPU  RawCpuTot RawCpuIdl
  18   7  1561  1660    4     65      0      0       0    107    236     50      45     17  12306     25.89     43.62
  23   7  1469  1571    2     34      0      0       0     99    198     43      38     11  14831     31.80     38.43

collectl的命令选项非常丰富,可以通过man collectl查看其详细文档。

收集系统性能数据并输出到文件

以下是一个示例命令,用于将系统性能数据收集并输出到名为/tmp/collectl.data的文件中。

collectl -sCdn -f /tmp/collectl.data
使用colmux来查看collectl输出的文件

colmux是一个用于将collectl输出的CSV格式的数据可视化的命令行实用工具。以下是一个使用示例。

colmux -P -f /tmp/collectl.data

执行后,你会看到一个类似下面这样的输出:

sampling 1 out of 1 seconds
      CPU     Memory  Network  Disks
usr sys      used buff cach free  read write wait actv  NFM0  NFM1  KBRead/s KBWrit/s XFerLZ/s     KBRead  KBWrit   RunQ   RunQB
 38  12  1958M   3G  6.6G  9.4M    22    4    0    0     0     0     19.9     13.5        0  211643428 143683112      0       0
 25   8  1958M   3G  6.6G  7.3M    27    6    0    0     0     0     26.9     15.8        0  287812098 168719124      0       0
 ...
使用collectl2rrd在Web UI中可视化collectl输出的数据

collectl2rrd是一个用于将collectl输出的CSV格式的数据可视化到Web UI中的工具。它使用Rrdtool来创建可视化图表。以下是一个使用示例。

首先,使用以下命令启动collectl

collectl --daemon -f /tmp/collectl.data

使用以下命令启动collectl2rrd

collectl2rrd -f /tmp/collectl.data

打开Web浏览器并访问http://localhost/rrdtool/index.html,你将看到一个包含图表的Web UI。

结论

在Linux系统中,collectl是一个强大的性能分析工具,可以提供有关系统性能的丰富详细信息。它是一个非常轻量级的工具,具有非常高的可扩展性,因为它可以读取任何的/proc和/sys文件系统数据。此外,使用与collectl相关的其他工具,如colmuxcollectl2rrd,可以轻松地将收集到的性能数据可视化和分析,更好地理解你的系统性能。