我想使用collectl (V4.1.0-1)来获取特定于lustre (version=2.12.2_178_ga0680fe_dirty)的统计数据。但是,它显示"-sl已禁用,因为此系统未安装lustre模块“!但是,系统确实有必要的光泽模块。有人能帮我解决这个问题吗。
root@dgx1:~# collectl -sL
Use of uninitialized value $strace in pattern match (m//) at /usr/share/collectl/formatit.ph line 178.
Use of uninitialized value $speed in numeric gt (>) at /usr/share/collectl/formatit.ph line 181.
-sl disabled because this system does not have lustre modules installed
Error: no subsystems selected
type 'collectl -h' for help
root@dgx1:~#
root@dgx1:~# collectl -sl
Error: invalid subsystem 'l'
type 'collectl -h' for help
root@dgx1:~#以下是系统详细信息。
root@dgx1:~# uname -r
4.15.0-45-generic
root@dgx1:~# uname -a
Linux dgx1 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
root@dgx1:~# lctl get_param version
version=2.12.2_178_ga0680fe_dirty
root@dgx1:~# lsmod | grep lustre
lustre 737280 2093
lmv 180224 3 lustre
mdc 237568 3 lustre
lov 311296 1397 lustre
ptlrpc 1306624 8 fld,osc,fid,mgc,lov,mdc,lmv,lustre
obdclass 2158592 1421 fld,osc,fid,ptlrpc,mgc,lov,mdc,lmv,lustre
lnet 557056 7 osc,ko2iblnd,obdclass,ptlrpc,mgc,lmv,lustre
libcfs 471040 12 fld,lnet,osc,fid,ko2iblnd,obdclass,ptlrpc,mgc,lov,mdc,lmv,lustre
root@dgx1:~# collectl --version
collectl V4.1.0-1 (zlib:2.074,HiRes:1.9741)
Copyright 2003-2016 Hewlett-Packard Development Company, L.P.
collectl may be copied only under the terms of either the Artistic License
or the GNU General Public License, which may be found in the source kit发布于 2020-02-07 05:53:43
我不知道collectl的具体内部细节,但一个可能的问题来源是,由于上游内核编码要求,在较新的版本中,Lustre统计信息已经从procfs转移到sysfs和/或debugfs。
这是在Lustre lctl和lfs中通过查找统计信息/参数文件{/sys/{fs,kernel/debug}/{lnet,lustre},/proc/{fs,sys}/{lnet,lustre}}的许多位置来透明地处理的,collectl可能需要做同样的事情(现在有库API来查找它可以使用的统计信息文件)。如果/sys/kernel/debug尚未挂载,lctl二进制文件也会自动挂载它,因此您可能需要将其添加到/etc/fstab中,以便在collectl运行时挂载它。
发布于 2020-06-03 06:24:47
从2.10版本开始,collectl需要打补丁。但是,请注意,不再维护集合1(请参阅this post on collectl)。
在黄云的第三方工具page上也列出了其他一些不错的当前替代方案。
https://stackoverflow.com/questions/60092428
复制相似问题