GNU/Linux >> Linux の 問題 >  >> Linux

Kmonを使用したLinuxカーネルモジュールの管理と監視

クモン は、 Rustで記述されたオープンソースのLinuxカーネルマネージャーおよびアクティビティモニターユーティリティです。 プログラミング言語。これは、Linuxカーネルモジュールを管理し、カーネルアクティビティを監視するためのシンプルなテキストユーザーインターフェイス(TUI)ツールです。これにより、ユーザーはカーネルモジュールの情報をロード、アンロード、ブラックリストに登録、表示できます。これらのカーネル管理アクティビティ、ハードウェアログ、その他のカーネルメッセージはすべて、Kmodのリアルタイムアクティビティモニターによって追跡および表示されます。この簡単なガイドでは、Kmonを使用してLinuxカーネルモジュールを管理および監視する方法を学習します。

LinuxにKmonをインストールする

Rustで書かれているので、Kmonは Cargoを使用してインストールできます パッケージマネージャー。次のリンクの説明に従って、LinuxボックスにRustをインストールします。

  • LinuxにRustプログラミング言語をインストールする

次に、次のコマンドを実行してKmonをインストールします。

$ cargo install kmon

KmonはAURで利用できます 。したがって、 YayなどのAURヘルパーツールを使用してインストールできます。 、以下のように。

$ 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ページファイルを/usr / local / man / man8 /に移動/コピーします ディレクトリ。

$ 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を使用したLinuxカーネルモジュールの管理と監視

上記の出力でわかるように、Kmonには5つのブロックがあります。

  • 検索ボックス 左上-ユーザーが特定のカーネルモジュールを検索できるようにします。
  • カーネルリリース 上部中央-現在ロードされているカーネルリリース番号を表示します。 Tabキーを押し続けると、カーネルバージョンとカーネルプラットフォームが表示されます。
  • ロードされたカーネルモジュール 検索ボックスの下-ロードされたモジュールのリストを表示します。
  • モジュール 右上-LoadedKernelModulesブロックから選択したモジュールの情報を表示します。
  • カーネルアクティビティ 下部-すべてのカーネルアクティビティ、ハードウェアログ、およびその他のカーネルメッセージを表示します。

Kmonヘルプを表示する

を押します またはF1 ヘルプセクションを表示するためのキー。

カーネルの詳細を表示する

現在ロードされているカーネルのバージョン、リリース番号、およびプラットフォームを表示するには、 TABを押します。 キー。

ブロックを切り替える

右/左を使用してブロックを切り替えることができます 矢印またはh/ l キー。

ブロック内を上下にスクロール

上/下を使用する 、 k / j alt-k / j 選択したブロック内を上下にスクロールするためのキー。

カーネルアクティビティを上下にスクロール

PgUp / PgDnを押します Kernalアクティビティを上下にスクロールするためのキー。同様に、カーネルアクティビティを(水平方向に)左または右にスクロールするには、 alt-hを押します。 およびalt-l キー。これは、カーネルアクティビティブロックに収まらない長いカーネルアクティビティメッセージを読み取るときに役立ちます。

スムーズなスクロール

alt-jを使用する およびalt-k カーネルアクティビティとモジュール情報ブロックをゆっくりスクロールするためのキー。

カーネルモジュールの詳細を表示する

特定のカーネルモジュールの情報を表示するには、LoadedKernelModulesブロックで上/下矢印を使用してそのモジュールを選択するだけです。選択したモジュールがモジュールブロックに表示されます。

カーネルモジュールを検索する

矢印キーを使用して検索ボックスを選択するか、 sを押します または/ またはENTER キーを押して、検索ボックスにモジュールの名前を入力します。

Kmonでカーネルモジュールを検索

モジュールのロード

モジュールをLinuxカーネルにロードするには、 +のいずれかを押します。 またはi または挿入 ロードモードに切り替えるためのキー。上/下矢印を押して、検索モードとロードモードを切り替えることもできます。ロードするモジュールの名前を入力します。

モジュールのロード

最後に、 Yを押します モジュールのロードを確認します。ロード操作をキャンセルするには、 nを押すだけです。 。

Kmonを使用してモジュールをLinuxカーネルにロードする

モジュールのロードに使用されるコマンドが右側に表示されます。

$ modprobe <module_name>

モジュールのアンロード

Loaded Kernel Modulesブロックで、Linuxカーネルからアンロードするモジュールを選択します。次に、-を押します またはu またはバックスペース キーを押してYを押します 選択したモジュールをLinuxカーネルから削除します。

Kmonを使用してLinuxカーネルからモジュールをアンロードします

モジュールのロードに使用されるコマンドが右側に表示されます。

$ modprobe -r <module_name>

ブラックリストモジュール

Kmonを使用すると、モジュールをブラックリストに登録できます。つまり、Linuxカーネルにロードされないようにすることができます。 Loaded Kernel Modulesブロックからブラックリストに登録するモジュールを選択し、 xを押します。 またはb または削除 キーを押しながらYキーを押して、操作を確認します。

Kmonを使用したカーネルモジュールのブラックリスト

選択したモジュールをブラックリストに登録するために使用したコマンドが右側に表示されます。

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

Kmonのハイライト色をカスタマイズする

更新間隔の設定

ターミナルUIの更新間隔をミリ秒単位で設定するには、 -tを使用します または--tickrate フラグ:

$ kmon --color 00aeef -t 100

カーネルリングバッファをクリアする

ctrl-l / u を使用して、カーネルリングバッファをクリアできます。 またはalt-c キー。

Kmonを終了

Kmonを終了するには、 qを押すだけです。 またはESC キー。

詳細については、ヘルプセクションを参照してください:

$ kmon --help

また、マニュアルページ:

$ man kmon

これがお役に立てば幸いです。


Linux
  1. なしでは生きていけないLinuxカーネルモジュール

  2. Linuxでサービスを管理および一覧表示する方法

  3. fgおよびbgコマンドを使用してLinuxバックグラウンドジョブを管理する方法

  1. Linuxカーネルをftraceで分析する

  2. LinuxでSmartctlを使用してハードドライブの状態を監視および分析する

  3. PrometheusとGrafanaでLinuxサーバーを監視する

  1. Linuxでjconsoleを使用してJavaを監視する

  2. GDB と QEMU を使用して Linux カーネルをデバッグするには?

  3. QEMU を使用した Linux カーネルのデバッグ