「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

sysctl【コマンド】

pointこの用語のポイント

pointコマンドだよ

pointUNIX系で使えるよ

pointカーネルのパラメータを変更するよ

point再起動するとリセットされるよ

スポンサーリンク

簡単に書くよ

sysctl【コマンド】とは

コンピュータさんに対する命令文(コマンド)のひとつ
であり

カーネル(OSの中核として頑張っているソフトウェア)のパラメータを変更するときに使うコマンド
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「OS」と「カーネル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

OSは「パソコンさんの人格に相当するソフト」です。
パソコンさんは中にOSを入れることで、はじめてパソコンとしての お仕事が できます。
「これが無いとパソコンじゃねーよ」な基本ソフトです。

sysctl

※「OS」という用語が世間に広まった きっかけがパソコンなので「パソコン」と書きましたが、スマホや その他のコンピュータ類でも同じです。

カーネルは「OSの中核部分として頑張っているソフトウェア」です。
OSを1つの組織と見なした場合、カーネルさんは中心人物です。
こいつがいないと始まりません。

sysctl2

ただし、カーネルさんだけでは組織の運営が成り立ちません。
シェルデーモンといった、その他のソフトウェアを手足のように使うことによって、はじめて組織が回ります。

「カーネルさんは大事なやつだけど、カーネルさんだけではOSは成り立たない」と理解してください。
カーネルさんと あれやこれやのソフトウェアが組み合わさって、1つのOSが出来あがっているのです。

sysctl3

カーネルさんには、動かすときのパラメータが、あれやこれやとあります。
「パラメータ」と言われてもよく分からない人は設定値だと思ってください。
値を変更すると、カーネルさんの動きや状態が変わります。

以上を踏まえて

カーネルのパラメータを変更するときに使うコマンド

が「sysctl」コマンドです。
「sysctl」コマンドはUNIXLinuxとかMacとか)で使えます。

書き方は

sysctl [オプション] [パラメータ名=値]

です。

オプションは、あれやこれやとあります。

オプション説明
-aすべての設定値を表示する
Display all values currently available.
--allすべての設定値を表示する
Display all values currently available.
-A「-a」と同じ
Alias of -a
-X「-a」と同じ
Alias of -a
-b1行でずらずらっと表示する。多分、値だけが表示されている
Print value without new line.
--binary1行でずらずらっと表示する。多分、値だけが表示されている
Print value without new line.
-e不明なキーエラーを無視する
Use this option to ignore errors about unknown keys.
--ignore不明なキーのエラーを無視する
Use this option to ignore errors about unknown keys.
-Nキー名だけ表示する(値を表示しない)
Use this option to only print the names. It may be useful with shells that have programmable completion.
--namesキー名だけ表示する(値を表示しない)
Use this option to only print the names. It may be useful with shells that have programmable completion.
-n値だけ表示する(キー名を表示しない)
Use this option to disable printing of the key name when printing values.
--values値だけ表示する(キー名を表示しない)
Use this option to disable printing of the key name when printing values.
-p【ファイル名】ファイルから読み込んだ内容をsysctlのパラメータに設定する。
Load in sysctl settings from the file specified or /etc/sysctl.conf if none given. Specifying as filename means reading da
--load=【ファイル名】ファイルから読み込んだ内容をsysctlのパラメータに設定する。
Load in sysctl settings from the file specified or /etc/sysctl.conf if none given. Specifying as filename means reading data from standard input. Using this option will mean arguments to sysctl are files, which are read in the order they are specified. The file argument may be specified as regular expression.
-f「-p」と同じ
Alias of -p
-rうんちゃらかんちゃら
Only apply settings that match pattern. The pattern uses extended regular expression syntax.
--patternうんちゃらかんちゃら
Only apply settings that match pattern. The pattern uses extended regular expression syntax.
-q画面に表示しない?
Use this option to not display the values set to stdout.
--quiet画面に表示しない?
Use this option to not display the values set to stdout.
-wsysctlの設定を変更したいときは、このオプションを使ってね?
Use this option when you want to change a sysctl setting.
--writesysctlの設定を変更したいときは、このオプションを使ってね?
Use this option when you want to change a sysctl setting.
-oないよ
Does nothing, exists for BSD compatibility.
-xないよ
Does nothing, exists for BSD compatibility.
-d「-h」と同じ
Alias of -h
--deprecatedうんちゃらかんちゃら
Include deprecated parameters to --all values listing.
--systemあれやこれやの設定ファイルから読み込むよ
Load settings from all system configuration files.
/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
-hヘルプを表示する
display this help and exit
--helpヘルプを表示する
display this help and exit
-Vバージョン情報を表示する
output version information and exit
--versionバージョン情報を表示する
output version information and exit

です。

それでは、実際の使い方を見てみましょう。
「-a」オプションを指定して

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 =

(以下略)


値を設定するときは

設定項目=値

形式で設定します。
例えば

sysctl debug.exception-trace=0

を実行すると「debug.exception-trace」に「0」が表示されます。

これが「sysctl」コマンドの基本的な使い方です。
オプションについては必要に応じて情報を補完してください。

ちなみに、パラメータの設定項目と値は

/proc/sys

配下に、項目ごとにファイルが分かれて保存されています。
例えば

debug.exception-trace



(/proc/sys)/debug/exception-trace

です。
「.」がディレクトリの区切りになります。

例えば

sysctl debug.exception-trace

の実行結果が

debug.exception-trace = 1

だったとしましょう。
パラメータ「debug.exception-trace」の設定値は「1」です。

この状態で

more /proc/sys/debug/exception-trace

を実行すると

1

と表示されます。

この状態で

sysctl debug.exception-trace=0

を実行します。
パラメータ「debug.exception-trace」の値が「0」に変更されました。

この状態で

more /proc/sys/debug/exception-trace

を実行すると

0

と表示されます。
パラメータ「debug.exception-trace」の設定値が「/proc/sys/debug/exception-trace」に保存されていることが分かります。


image piyo2

一言でまとめるよ

まぁ「sysctl」ってコマンドが出てきたら「カーネル(OSの中核として頑張っているソフトウェア)のパラメータを変更するときに使うんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像004
書籍画像009

おまけ

■訳してみるよ

「sys」は多分「system(システム)」の略です。
「system(システム)」はカタカナで「システム」と解釈してください。
「ctl」は多分「control(コントロール)」の略です。
「control(コントロール)」の意味は「統制する」とか「操作する」とか「制御する」とかです。
何となく くっつけると

システムを制御する

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
「技術書」の読書術 達人が教える選び方・読み方・情報発信&共有のコツとテクニック