Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

覚えておきたいカーネルパラメータの変更方法

More than 5 years have passed since last update.

概要

カーネルパラメータを変更する機会があったわけですが、全くといっていいほど今まで気にしたことがなかったのでこれを機にカーネルパラメータ周りや sysctl の使い方を整理してみます。

sysctl

説明

man sysctl より抜粋

sysctl は カーネルのパラメータを実行時に修正するのに用いる。変更できるパラメータは
/proc/sys/ 以下にリストされているものである。 Linux における sysctl の機能には procfs
が必要である。 sysctl は sysctl データの読み書き両方に使える。

option について

option 意味
-n  キーの名前は表示せず、値だけ表示する
-e 不明なキーについてエラーを無視する
-N 名前のみ表示する
-q 値のセットを標準出力に表示しない
-w sysctl の設定を変更する場合には、このオプションを指定する
-p 指定されたファイルから読み込んだ内容を sysctl 設定へロード。指定がなければ /etc/sysctl.confから
-a 現在利用できる全ての値を表示
-A -a に同じ

コマンド例一覧

  • 値のみ表示
# sysctl -n net.ipv4.tcp_keepalive_time
7200
  • 名前のみ表示
# sysctl -N net.ipv4.tcp_keepalive_time
net.ipv4.tcp_keepalive_time
  • 設定の変更
# sysctl -w net.ipv4.tcp_keepalive_time=100
net.ipv4.tcp_keepalive_time = 100

# sysctl -a | grep keepalive_time
net.ipv4.tcp_keepalive_time = 100
  • 設定のロード
* vim で設定変更してから -p でロード
# vim /etc/sysctl.conf
net.ipv4.tcp_keepalive_time = 100
を追記

# sysctl -a | grep keepalive_time
net.ipv4.tcp_keepalive_time = 7200
* まだ反映されていない

# sysctl -p
* 反映

net.ipv4.tcp_keepalive_time = 100
* 一部抜粋、反映された

# sysctl -a | grep keepalive_time
net.ipv4.tcp_keepalive_time = 100
* 反映されていることを確認

/etc/sysctl.conf と /proc/sys 配下の関係

設定変更は sysctl コマンドを使用して行えますが /proc/sys 配下の管理ファイル群に echo 値 > で書き込む形で反映させる方法もあります。

# echo 100 > /proc/sys/net/ipv4/tcp_keepalive_time
# sysctl -a | grep keepalive_time
net.ipv4.tcp_keepalive_time = 100

ただし /etc/sysctl.conf へ書き込んでおらず /proc/sys 以下のみ変更した場合だと暫定での変更となり再起動後はデフォルトの設定へ戻ってしまいます。恒久的に反映したい際は/etc/sysctl.conf へ設定を記載し sysctl -p で反映させるのが良いと思います。

sysctl の覚書でした。
カーネルパラメータ1つ1つの覚書もしようと思いましたが数が多いのでまたそのような場面に遭遇したらということで:p

masahixixi
Web系企業のSREエンジニア。
livesense
求人情報サイト「マッハバイト」「転職ナビ」「転職会議」「転職ドラフト」および不動産情報サイト「IESHIL」などを開発・運営しています。
https://www.livesense.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away