Collectl - Linux 中的性能分析工具
在多种情况下您都需要性能数据。基准测试、跟踪系统的整体健康状况以及试图找出系统过去在做什么都是这些示例。您可能只想知道机器目前正在做什么。根据您在做什么,您会发现自己使用了各种资源,每种资源都针对特定情况量身定制。
与其他监控工具不同,collectl 尝试做任何事情。它专注于有限的统计数据集合,仅以一种方式格式化其输出,并以交互方式或作为守护程序运行,但不能同时运行。 Buddyinfo、CPU、disc、inode、Infiniband、luster、内存、网络、nfs、processes、quadrics、slabs、sockets 和 tcp 只是其中几个可以监控的子系统。
安装 Collectl
大多数发行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、Arch Linux、Manjaro、Mageia 等)中都默认包含 collectl 包,因此我们可以从发行版官方存储库轻松安装它。
$ sudo apt-get install collectl
在安装过程中,弹出窗口将显示选择 web 服务器 apach2:
如果您在没有任何参数的情况下运行该工具,您将获得以下结果:
-s 标志可用于简要测量以下类别:
SUMMARY SUBSYSTEMS
b - buddy info (memory fragmentation)
c - CPU
d - Disk
f - NFS V3 Data
i - Inode and File System
j - Interrupts
l - Lustre
m - Memory
n - Networks
s - Sockets
t - TCP
x - Interconnect
y - Slabs (system object caches)
DETAIL SUBSYSTEMS
C - CPU
D - Disk
E - Environmental data (fan, power, temp), via ipmitool
F - NFS Data
J - Interrupts
L - Lustre OST detail OR client Filesystem detail
M - Memory node data, which is also known as numa data
N - Networks
T - 65 TCP counters only available in plot format
X - Interconnect
Y - Slabs (system object caches)
Z - Processes
监控 CPU 使用率
只需在 collectl 命令中添加 -sc 即可打印 CPU 使用情况列表。
$ collectl -sc
只需在 collectl 命令中添加 -sC 即可打印详细的 CPU 使用情况:
$ collectl -sC
监控内存使用情况
只需在 collectl 命令中添加 -sm 即可打印内存消耗列表。
$ collectl -sm
只需在 collectl 命令中使用 -sM 选项即可打印详细的内存使用情况:
$ collectl -sM
监控网络使用情况
只需将 -sn 添加到 collectl 命令即可打印网络使用情况列表。
$ collectl -sn
只需在 collectl 命令中使用 -sN 选项即可打印详细的网络使用情况。
$ collectl -sN
收集实用程序
collectl 的重点一直是高效的性能数据收集及其在单机上的显示。 Colplot 是一个基于 Web 的绘图实用程序,它使用 gnuplot 来针对以绘图格式生成的 collectl 生成的文件生成绘图。
您可以通过 http://localhost/colplot(或您服务器的有效 IP 地址)访问 colplot。