アスタリスク インフラTECH wiki

カーネルパラメータの変更

最終更新:

kawakami

- view
メンバー限定 登録/ログイン
/procディレクトリ以下のファイルを使って、カーネル情報を取得したり
カーネルの動作を変更することができます。
カーネルパラメータを変更した瞬間にカーネルの動作は変更されます。

  • /proc/sys/kernelディレクトリ
このディレクトリ配下のパラメータを使うと、パフォーマンス・チューニング以外の様々な設定も可能になる。

  • /proc/sys/fsディレクトリ
ファイルシステム関連のチューニングパラメータが集められている。

  • /proc/sys/vmディレクトリ
仮想記憶(バーチャルメモリ)関連のチューニングパラメータが集められている。

  • /proc/sys/netディレクトリ
ネットワーク関連のチューニングパラメータが格納されている。

/proc/sys/net/core配下には、ネットワーキング一般(ソケット関連)
/proc/sys/net/ipv4配下には、ipv4関連のチューニングパラメータがある。

例えばkmodを利用していると、カーネルからモジュールが要求されたとき自動的に
modprobeコマンドを使い必要なモジュールをロードします。
この時に参照されるmodprobeコマンドのパスは、/proc/sys/kernel/modprobeに格納されます。

下記のように変更した値は、システムの再起動するとデフォルト値に戻ってしまいます。
# echo "/sbin/modprobe" > /proc/sys/kernel/modprobe

sysctlコマンドを使っても、/proc/sysディレクトリ内のカーネルパラメータの設定や表示ができます。
しかし再起動すると設定が元に戻ってしまいます。

sysctl [オプション] [パラメータ]
sysctl -w パラメータ=値
オプション
  • a …現在利用できる全てのパラメータを表示
  • p …指定したファイルから設定を読み込む(デフォルトでは/etc/sysctl.conf)
  • w …パラメータを更新する

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward=0
/proc/net/ipv4/ip_forwardを表示します。

上記のようにカーネルパラメータの指定は、/proc以下のエントリから
「/proc/sys」部分を取り除き、「/」を「.」に置き換えます。
(しかし「/」のままでも実行できます)

# sysctl -w net.ipv4.ip_forward=1
IPフォーワーディングを有効にする

このようにカーネルパラメータを変更しても再起動するとデフォルトに戻ってしまうため、
設定を常時有効にするためには、/etc/sysctl.confファイルに追加します。
目安箱バナー