GNU/Linux >> Linux の 問題 >  >> Linux

LinuxのSysctlコマンド

Linuxシステム管理者は、デフォルトのカーネルの動作を変更する必要がある場合があります。たとえば、マジックSysRqキーを有効にしたり、カーネルが受け入れる接続の数を増やしたりする必要がある場合があります。カーネルパラメータは、カーネルの構築時、システムの起動時、または実行時に設定できます。

この記事では、sysctlの使用方法について説明します 実行時にカーネルパラメータを表示および変更するコマンド。

sysctlの使用 カーネルパラメータを表示するには#

現在のすべてのカーネルパラメータを表示するには、sysctlを呼び出します。 -aを使用したコマンド オプション:

sysctl -a

これにより、次のような大きなリストが出力されます。各行には、パラメーターの名前とその値が含まれています。

abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...

すべてのユーザーは、現在のカーネルパラメーターを表示できます。 rootユーザーのみが値を変更できます。

sysctlに引数として名前を渡すことにより、単一のパラメーターの値を確認できます。 。たとえば、現在のswappiness値を確認するには、次のように入力します。

sysctl vm.swappiness
vm.swappiness = 60

Swappinessは、システムがスワップスペースを使用する頻度を定義するLinuxカーネルプロパティです。

sysctl コマンドは/proc/sysから情報を読み取ります ディレクトリ。 /proc/sys は、現在のカーネルパラメータを表示および設定するために使用できるファイルオブジェクトを含む仮想ディレクトリです。

適切なファイルの内容を表示して、パラメータ値を表示することもできます。唯一の違いは、ファイルの表現方法です。たとえば、両方のsysctl vm.swappiness およびcat /proc/sys/vm/swappiness 同じ出力が得られます。 sysctlを使用する場合 ディレクトリスラッシュはドットとproc.sysに置き換えられます 一部を想定しています。

sysctlの使用 カーネルパラメータを変更するには#

実行時にカーネルパラメータを設定するには、sysctlを実行します コマンドの後に、次の形式のパラメーター名と値が続きます:

sysctl -w parameter=value

値に空のスペースまたは特殊文字が含まれている場合は、値を二重引用符で囲みます。複数のparameter=valueを渡すこともできます 同じコマンドでペアになります。

本番システムでカーネル設定を変更すると、カーネルが不安定になる可能性があり、システムを再起動する必要があるため、特に注意してください。

たとえば、IPv4パケット転送を有効にするには、次のコマンドを実行します。

sysctl -w net.ipv4.ip_forward=1

変更はすぐに有効になりますが、永続的ではありません。システムの再起動後、デフォルト値がロードされます。

パラメータを永続的に設定するには、設定を/etc/sysctl.confに書き込む必要があります または/etc/sysctl.d内の別の構成ファイル ディレクトリ:

sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

パラメータを変更する別の方法は、echoを使用することです。 /proc/sys内のファイルに設定を書き込むコマンド ディレクトリ。たとえば、上記のコマンドを実行する代わりに、次を使用できます。

echo 1 > /proc/sys/net/ipv4/ip_forward

-p オプションを使用すると、構成ファイルから設定をロードできます:

sysctl -p /etc/sysctl.d/file_name.conf

ファイルが指定されていない場合、sysctl /etc/sysctl.confを読み取ります ファイル。

結論#

sysctl コマンドを使用すると、Linuxカーネルパラメータを表示および変更できます。

ご不明な点がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxmvコマンド

  2. Linuxduコマンド

  3. Linux での sysctl コマンドの例

  1. Linuxifconfigコマンド

  2. Linuxipコマンド

  3. Linuxcdコマンド

  1. Linuxタイムコマンド

  2. LinuxでのPingコマンド

  3. Linuxウォッチコマンド