LinuCレベル1 ハードウェア、ディスク、パーティション、ファイルシステム 問27
ハードウェア、ディスク、パーティション、ファイルシステム/ハードウェアの基礎知識と設定lsmod コマンドの出力は、Module、Size、Used by の3つの列からなる。このうち Used by 列の先頭に表示される数値が表すものとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「ハードウェア、ディスク、パーティション、ファイルシステム」に対応。実際の試験問題ではありません)
- Aそのモジュールがロードされてから経過した時間(秒)
- Bそのモジュールが使用しているメモリ量(バイト)
- Cそのモジュールがロードされた順番を示す通し番号
- Dそのモジュールを使用しているモジュール等の数
正解:D
解説
lsmod は /proc/modules の内容を見やすく整形して、ロード済みのカーネルモジュールを一覧表示します。Size 列はモジュールのメモリ上のサイズ、Used by 列の数値はそのモジュールの参照数(使用しているモジュールなどの数)で、その後ろに、そのモジュールを利用しているモジュールの名前が並びます。参照数が0でないモジュールは使用中のため、rmmod でアンロードしようとしても「in use」として通常はエラーになります。
選択肢ごとの解説
- A誤り。lsmod はモジュールをロードしてからの経過時間を表示しません。Used by 列の数値は参照数です。
- B誤り。モジュールのメモリ上のサイズは Size 列に表示されます。Used by 列の数値はメモリ量ではありません。
- C誤り。lsmod の出力にロード順の通し番号の列はありません。Used by 列の数値は、そのモジュールを使用しているものの数です。
- D正しい。Used by 列の数値は参照数で、0でなければ使用中のため、通常は rmmod でアンロードできません。