Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

E.4. sysctl コマンドの使用

/sbin/sysctl コマンドを使用して、/proc/sys/ ディレクトリーのカーネル設定を表示、設定、および自動化します。
/proc/sys/ ディレクトリーで設定可能なすべての設定の概要は、root で /sbin/sysctl -a コマンドを入力します。これにより、以下のような小規模な一覧である、大規模で包括的な一覧が作成されます。
net.ipv4.route.min_pmtu = 552
kernel.sysrq = 0
kernel.sem = 250     32000     32     128
これは、各ファイルが個別に表示されていた場合と同じ情報になります。唯一の違いはファイルの場所です。たとえば、/proc/sys/net/ipv4/route/min_pmtu ファイルは net.ipv4.route.min_pmtu として一覧表示され、ディレクトリースラッシュはドットと proc.sys の部分に置き換えられます。
sysctl コマンドを echo の代わりに使用して、/proc/sys/ ディレクトリーの書き込み可能なファイルに値を割り当てることができます。たとえば、コマンドを使用する代わりに使用されます。
echo 1 > /proc/sys/kernel/sysrq
以下のように同等の sysctl コマンドを使用します。
sysctl -w kernel.sysrq="1"
kernel.sysrq = 1
/proc/sys/ でこのような単一の値を設定すると、テスト中に便利ですが、/proc/sys/ 内の特別な設定はマシンの再起動時に失われるため、この方法は実稼働システムでは機能しません。カスタム設定を保持するには、/etc/sysctl.conf ファイルに追加します。
/etc/sysctl.conf ファイルは、initscripts パッケージでインストールして、一部のカーネルのデフォルト値を上書きするため、使用できるパラメーターは一部だけ含まれます。sysctl -a コマンドを使用して、sysctl キー形式でパラメーターを一覧表示します。設定可能な設定の詳細は、/usr/share/doc/kernel-doc-kernel_version/Documentation/networking/ip-sysctl.txt ファイルを参照してください。
システムを起動するたびに、init プログラムは /etc/rc.d/rc.sysinit スクリプトを実行します。このスクリプトには、/etc/ sysctl.conf を使用して sysctl を実行し、カーネルに渡される値を決定するコマンドが含まれます。したがって、/etc/sysctl.conf に追加した値は、システムが起動するたびに有効になります。sysctl の解析後に読み込まれるモジュールは、この設定を上書きする可能性があることに注意してください。