このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

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

/procの下、特に/proc/sysの下にある一部の仮想ファイルは書込み可能であり、それらを使用してカーネル内の設定を調整できます。 たとえば、ホスト名を変更するには、/proc/sys/kernel/hostnameに新しい値を書き込むことができます。

# echo www.mydomain.com > /proc/sys/kernel/hostname

他のファイルでは、バイナリまたはブール値を使用する値が取得されます。 たとえば、/proc/sys/net/ipv4/ip_forwardの値では、カーネルがIPv4ネットワーク・パケットを転送するかどうかが決定されます。

# cat /proc/sys/net/ipv4/ip_forward
0
# echo 1 > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
1

sysctlコマンドを使用すると、/proc/sysディレクトリの下にある値を表示または変更できます。

ノート

rootであっても、/proc下の仮想ファイル・エントリのファイル・アクセス権限は回避できません。 /proc/partitionsなどの読取り専用エントリの値を変更しようとしても、write()システム・コールを処理するカーネル・コードはありません。

現在のカーネル設定をすべて表示するには:

# sysctl -a
kernel.sched_child_runs_first = 0
kernel.sched_min_granularity_ns = 2000000
kernel.sched_latency_ns = 10000000
kernel.sched_wakeup_granularity_ns = 2000000
kernel.sched_shares_ratelimit = 500000
...
ノート

設定の名前のデリミタ文字は、/proc/sysに相対的なパスにおいて、スラッシュ(/)ではなくピリオド(.)です。 たとえば、net.ipv4.ip_forwardnet/ipv4/ip_forwardを表し、kernel.msgmaxkernel/msgmaxを表します。

個々の設定を表示するには、その名前をsysctlの引数として指定します。

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

設定の値を変更するには、次の形式のコマンドを使用します。

# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

この方法で行った変更が有効であるのは、システムが再起動されるまでです。 構成の変更をシステムの再起動後も維持するには、それらを/etc/sysctl.confファイルに追加する必要があります。 このファイルに加えた変更は、システムの再起動時、または次の例のようにsysctl -pコマンドを実行した場合に有効になります。

# sed -i '/net.ipv4.ip_forward/s/= 0/= 1/' /etc/sysctl.conf 
# grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
...
kernel.shmall = 4294967296
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

詳細は、sysctl(8)およびsysctl.conf(5)の各マニュアル・ページを参照してください。