第20章 カーネルモジュールの制御

Linuxのカーネルでは、特定のハードウェアに必要なデバイスドライバといった利用者が限られる機能などを必要に応じ読み込みや解放ができるモジュールという形式で提供しています。このため、不必要なモジュールを読み込まないことでリソースの節約が可能です。この章では、カーネルモジュールを制御する方法について解説します。

20.1. カーネルモジュールを制御するコマンド

以下、カーネルモジュールを制御するコマンドについて簡単に説明します。それぞれのコマンドの詳細は、manページを確認してください。

例20.1 lsmodのmanページを読む

$ man lsmod

20.1.1. 読み込まれているモジュールの一覧表示

現在読み込まれているモジュールを確認するには、lsmodコマンドを実行します。一般ユーザでも実行可能です。

例20.2 lsmodの表示例

表示は、4つの列に分かれており、左からモジュール名、大きさ、使用カウント数、当該モジュールを使用しているモジュール名です。

$ /sbin/lsmod
Module                  Size  Used by
udf                    72136  0 
crc_itu_t               2272  1 udf
fuse                   62688  0 
ipv6                  283280  20 
vboxnetflt             88780  0 
vboxdrv              1692492  1 vboxnetflt
autofs4                25224  2 
nf_conntrack_netbios_ns     2752  0 
ipt_REJECT              3200  1 
nf_conntrack_ipv4      14904  1 
nf_defrag_ipv4          2208  1 nf_conntrack_ipv4
xt_state                2336  1 
nf_conntrack           72640  3 nf_conntrack_netbios_ns,nf_conntrack_ipv4,xt_state
xt_tcpudp               3296  3 
iptable_filter          3744  1 
ip_tables              17488  1 iptable_filter

20.1.2. カーネルモジュールの読み込みと解放

カーネルモジュールの読み込むと解放には、root権限でmodprobeコマンドを利用します。

例20.3 lpモジュールの読み込み

以下の例では、パラレルポート用プリンタを使用するのに必要なlpモジュールをロードします。

# /sbin/modprobe lp

なお、lpモジュールが依存するモジュールも同時に読み込まれます。


例20.4 pcspkrモジュールの解放

以下の例では、PCスピーカのビープ音を鳴らすモジュールを解放します。

# /sbin/modprobe -r pcspkr

なお、これらのコマンドによる操作結果は、コンピュータを終了するまでの一時的なものです。