/proc/sys 内のパラメータを確認する
前のステップでは、sysctl -a
を使ってカーネルパラメータをリストし、cat /etc/sysctl.conf
を使って設定ファイルを表示しました。では、これらのパラメータが実際にファイルシステム内のどこに表されているかを見てみましょう。
sysctl
によって管理されるカーネルパラメータは、/proc/sys
に位置する特殊な仮想ファイルシステムを通じて公開されています。このファイルシステムはディスク上に実際のファイルを保存するのではなく、カーネルのデータ構造に対するインターフェースを提供します。
/proc/sys
ディレクトリの構造は、sysctl
パラメータの階層的な名前を反映しています。たとえば、パラメータ net.ipv4.ip_forward
は、ファイル /proc/sys/net/ipv4/ip_forward
に対応しています。
再度 cat
コマンドを使って、/proc/sys
ファイルシステムから直接特定のパラメータの値を表示しましょう。システムのホスト名を示す kernel.hostname
パラメータを見てみます。
ターミナルに次のコマンドを入力し、Enter キーを押します。
cat /proc/sys/kernel/hostname
システムのホスト名が表示されるはずです。この環境ではおそらく labex
です。
labex
次に、sysctl -a
の出力で見た fs.file-max
パラメータの例を見てみましょう。
次のコマンドを入力し、Enter キーを押します。
cat /proc/sys/fs/file-max
システムで許可されている現在の最大オープンファイル数が表示されます。
9223372036854775807
これは、sysctl -a
で見る値が /proc/sys
ディレクトリ内のファイルから直接アクセスして読み取れることを示しています。cat
のような標準的なファイル操作コマンドを使ってそれらの値を読み取ることができます。
/proc/sys
ファイルシステムを理解することは、カーネルパラメータを扱う上で重要です。なぜなら、これが sysctl
が相互作用する基盤となるメカニズムだからです。
/proc/sys
内の対応するファイルを表示することで、カーネルパラメータを正常に確認しました。
Continue をクリックしてこの実験を完了します。