使用kmon管理和监视Linux内核模块

时间:2020-03-21 11:46:14  来源:igfitidea点击:

kmon是一个开源Linux内核管理器和以锈编程语言编写的活动监视实用程序。
它是一个简单的文本 - 用户界面(TUI)工具,用于管理Linux内核模块并监控内核活动。
它允许用户加载,卸载,黑名单并显示内核模块的信息。
所有这些内核管理活动,硬件日志和其他内核消息都被kmod中的实时活动监视器跟踪和显示。
在本简要教程中,我们将学习如何使用kmon管理和监视Linux内核模块。

在Linux中安装KMON

由于它被用锈,可以使用货物包管理器安装KMON。

然后运行以下命令以安装kmon:

$cargo install kmon

kmon在Aur可用。

因此,我们可以使用任何AUR辅助工具安装它,例如YAY,如下面。

$yay -S kmon

KMON也可在COPR存储库中使用。
在Fedora和其他基于RPM的系统上,使能KMON存储库并安装如下所示。

$sudo dnf copr enable atim/kmon
$sudo dnf install kmon

在其他Linux发行版上,从版本页面下载最新的KMON二进制文件。

首先撰写本教程,最新版本为1.0.1.

$wget https://github.com/orhun/kmon/releases/download/v1.0.1/kmon-1.0.1.tar.gz

提取下载的存档:

$tar -xvzf kmon-1.0.1.tar.gz

将kmon二进制文件移动/复制到$path。

$sudo cp kmon /usr/local/bin/

将kmon手/本地/man/man8 /目录移动/复制kmon手册页文件。

$sudo mkdir /usr/local/man/man8/
$sudo gzip /usr/local/man/man8/kmon.8

此外,我们应该安装libxcb包以复制/粘贴命令在无键鼠显示器服务器中。

在Debian/Ubuntu:

$sudo apt install libxcb1-dev

关于Fedora/Centos:

$sudo dnf install libxcb-devel

使用kmon管理和监视Linux内核模块

要启动kmon,只需从终端运行以下命令:

$kmon

正如我们在上面的输出中看到的那样,KMON有5个街区。

  • 左上方的搜索框 - 允许用户搜索特定的内核模块。
  • 顶部中间的内核释放 - 显示当前加载的内核释放号码。继续击中选项卡键以显示内核版本和内核平台。
  • 搜索下面的加载内核模块 - 框 - 显示加载模块列表。
  • 右上角的模块 - 显示来自加载的内核模块块的所选模块的信息。
  • 底部内核活动 - 显示所有内核活动,硬件日志和其他内核消息。

显示帮助

请按 ?
或者f1键显示帮助部分。

显示内核详细信息

要查看当前加载的内核版本,发布号和平台,请按选项卡键。

在块之间切换

我们可以使用右/左箭头或者H/L键在块之间切换。

向上/向下滚动

使用向上/向下,k/j,alt-k/j键在选定的块内向上或者向下滚动。

向上/向下核心活动

按PGUP/PGDN键滚动上下核心活动。
同样,向左或者向右(水平)内核活动滚动,按Alt-H和Alt-L键。
在读取不适合内核活动块的冗长内核活动消息时,这可能是有用的。

平滑滚动

使用Alt-J和Alt-K密钥慢慢滚动内核活动和模块信息块。

显示内核模块详细信息

要查看特定内核模块的信息,只需在加载的内核模块块中使用向上/向下箭头选择它。
所选模块将显示在模块块中。

搜索内核模块

使用箭头键或者按S或者/或者输入键并在搜索框中键入模块的名称选择搜索框。

加载模块

要将模块加载到Linux内核中,请按其中一个+或者i或者插入键以切换到加载模式。
我们还可以按向上/向下箭头以在搜索模式和加载模式之间切换。
键入要加载的模块的名称。

最后,按Y确认加载模块。
要取消加载操作,只需按n即可。

用于加载模块的命令将显示在右侧。

$modprobe <module_name>

卸载模块

选择要卸载从加载的内核模块块中的Linux内核的模块。
然后按或者u或者backspace键并按Y从Linux内核中删除所选模块。

用于加载模块的命令将显示在右侧。

$modprobe -r <module_name>

黑名单模块

kmon允许我们为一个模块(例如:防止在Linux内核中加载)。
从加载的内核模块块中选择要将要黑名单的模块,然后按X或者B或者删除键并按Y确认操作。

用于黑名单所选模块的命令将显示在右侧。

if ! grep -q <module_name> /etc/modprobe.d/blacklist.conf; then
  echo 'blacklist <module_name>' >> /etc/modprobe.d/blacklist.conf
  echo 'install <module_name> /bin/false' >> /etc/modprobe.d/blacklist.conf
fi

复制粘贴

将内容从KMON接口复制到终端或者文本文件中,使用C和V键。
确保已安装Libxcb包,如安装部分所示。

排序内核模块

kmon可以选择按名称或者大小对内核模块进行排序。

要按名称对内核模块进行排序,请使用下面的排序选项运行kmon命令。

$kmon sort --name

按大小对内核模块进行排序,运行:

$kmon sort --size

我们还可以使用R或者反向标志进行反向排序内核模块。

$kmon --reverse

自定义颜色

kmon默认使用终端颜色。
但是,可以改变突出显示颜色。

$kmon --color majenta

或者,

$kmon -c majenta

我们甚至可以使用下面的颜色代码指定我们选择的自定义颜色。

$kmon --color 00aeef

设置刷新间隔

要以毫秒为单位设置终端UI刷新间隔,请使用-t或者--tickrate标志:

$kmon --color 00aeef -t 100

清除内核环缓冲器

我们可以使用Ctrl-L/U或者Alt-C键清除内核环形缓冲区。

出口kmon.

要退出kmon,只需按Q或者ESC键即可。

有关更多详细信息,请参阅帮助部分:

$kmon --help

还有man页面:

$man kmon