はじめに
sysctl は、Unixライクなオペレーティングシステムのソフトウェアユーティリティであり、次のようなシステムカーネルの属性を読み取って変更します。
- バージョン番号
- 最大制限
- セキュリティ設定。
これは、コンパイルされたプログラムのシステムコールとしても、対話型の使用とスクリプト作成のための管理者コマンドとしても使用できます。 Linuxはさらに、sysctlを仮想ファイルシステムとして公開します。
この記事では、 sysctlの使用方法を説明します 実行時にカーネルパラメータを表示および変更するコマンド。
sysctlを使用してカーネルパラメーターを表示する
現在のすべてのカーネルパラメータを表示するには、次のコマンドを使用します:
sysctl -a
[root@unixcop ~]# sysctl -a
abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.cdrom.autoclose = 1
dev.cdrom.autoeject = 0
dev.cdrom.check_media = 0
dev.cdrom.debug = 0
dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17
dev.cdrom.info =
dev.cdrom.info = drive name: sr0
dev.cdrom.info = drive speed: 1
........
....
これは、上記のように各行にパラメータの名前とその値が含まれているリストです。
sysctlを使用して単一のカーネルパラメータ値を確認します
sysctl の引数としてその名前を呼び出すことにより、単一のパラメーターの値を確認できます。 。
注 :rootユーザーのみが値を変更できます。
例:
レイドデバイスの制限速度の最大値を確認してください。
[root@unixcop ~]# sysctl dev.raid.speed_limit_max
dev.raid.speed_limit_max = 200000
[root@unixcop ~]#
grepを使用することもできます 以下に示すように、パラメータ値を検索するコマンド:
sysctl -a | grep dev.raid.speed_limit_max

sysctl コマンドは/proc / sysから情報を読み取ります ディレクトリ。
/ proc / sys は、現在のカーネルパラメータを表示および設定するために使用できるファイルオブジェクトを含む仮想ディレクトリです。
適切なファイルの内容を表示して、パラメータ値を表示することもできます。唯一の違いは、ファイルの表現方法です。
例:
sysctl dev.raid.speed_limit_max およびcat/ proc / sys / dev / raid / speed_limit_max 以下に示すのと同じ出力が表示されます。

sysctlを使用してカーネルパラメータを変更する
カーネルパラメータを変更するには、sysctlコマンドを実行してから、変更するパラメータと値を実行します
値を編集するための構文:
sysctl -w parameter=value
例 :
[root@unixcop ~]# sysctl net.ipv6.route.gc_timeout
net.ipv6.route.gc_timeout = 50
[root@unixcop ~]#
[root@unixcop ~]# sysctl -w net.ipv6.route.gc_timeout=60
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
[root@unixcop ~]# sysctl net.ipv6.route.gc_timeout
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
メモ :
値に空のスペースまたは特殊文字が含まれている場合は、値を二重引用符で囲みます。
複数のparameter =valueを渡すこともできます 同じコマンドで。
どうぞ
変更は正常に追加されますが、永続的ではありません。システムの再起動後、デフォルト値がロードされます。
そのため
パラメータを永続的に設定するには、変更を /etc/sysctl.confに書き込む必要があります または/etc/sysctl.dの下にある別の構成ファイル これは、メイン構成のものからインクルードされたファイルまたはサブファイルであるためです。
sysctl -w net.ipv6.route.gc_timeout=60 >> /etc/sysctl.conf
-p オプションを使用すると、次のように構成ファイルから変更をロードできます。
[root@unixcop ~]# sysctl -p /etc/sysctl.d/79-sysctl.conf
net.ipv6.route.gc_timeout = 60
[root@unixcop ~]#
結論
以上です
sysctlの使用方法を説明しました Linuxカーネルパラメータを表示および変更できるようにするコマンド。