<予告>
カーネルパラメータ
読書会

 for YLUG#107, 2011/5/31

             @tyamadajp
カーネルパラメータ
質問:どれだけある?
カーネルパラメータ
質問:どれだけある?
   # sysctl -a | wc -l
   1807
   # sysctl -a | 
   perl -pe 's/d+/X/g;s/=.*$//' | 
   sort | uniq | wc -l
   1104
カーネルパラメータ
質問:どれだけある?
   # sysctl -a | wc -l
   1807
   # sysctl -a | 
 モジュールによって更に
 追加されるものの、
   perl -pe 's/d+/X/g;s/=.*$//' | 
 吊るしの PC でもこんなにある
   sort | uniq | wc -l
   1104
パラメータについて調べたい!
そんなあなたに:
- kernel-parameters.txt
- networking/ip-sysctl.txt
- その他 Documentation/ の下

優しいカーネルハッカーの
お兄さん達が説明してくれてます!
パラメータについて調べたい!
そんなあなたに:
- kernel-parameters.txt
- networking/ip-sysctl.txt
- その他 Documentation/ の下

優しいカーネルハッカーの
  そんな風に考えていた時期が・・・
お兄さん達が説明してくれてます!
         俺にもありました・・・
さわるな危険・・・でも
基本:あんまりいじらない
→ 明確に必要なアプリなら、
  きちんと案内がある( DB 系とか)
→ あまり変な値をセットしたりすると
  システムが不思議な踊りを!
→ 搭載リソース量から自動で
  設定されるよう書かれていたり
    そうは言っても知りたい事も
さわるな危険・・・でも知りたい
実益:
→ リソース枯渇で止まった後に
  知るより、止まる前に知るべき

趣味(?):
→ 実世界のニーズがあるから
  (一部やむなく)存在する訳で、
  これを起点にソースを読むのは
  勉強になる(かもしれない) 
たとえば・・・ここでクイズ
以下のパラメータは               cgroup namespace

per-kernel? それとも per-container?

・ kernel.msgmax
・ kernel.threads-max
・ net.core.somaxconn
・ sunrpc.tcp_fin_timeout
たとえば・・・ここでクイズ
以下のパラメータは
per-kernel? それとも per-container?

・ kernel.msgmax          → per-c
・ kernel.threads-max
・ net.core.somaxconn
・ sunrpc.tcp_fin_timeout
たとえば・・・ここでクイズ(1)
以下のパラメータは
per-kernel? それとも per-container?

・ kernel.msgmax          → per-c
・ kernel.threads-max     → per-k
・ net.core.somaxconn
・ sunrpc.tcp_fin_timeout
たとえば・・・ここでクイズ(1)
以下のパラメータは
per-kernel? それとも per-container?

・ kernel.msgmax         → per-c
・ kernel.threads-max     → per-k
・ net.core.somaxconn     → per-c
・ sunrpc.tcp_fin_timeout → per-k

試せば判ることだけど、まとまってる
といいよね?
まとめてみました




           まだ 500 個くらい
まとめてみてよかったこと
辞書を読む楽しみ、のような…
 「こんなパラメータがあったのか」
例: crypto.fips_enabled
 →暗号化・乱数生成系の厳格さを
   FIP-120 準拠にします(矛盾を
   発見すると即 panic する)
調べてみてわかったこと
ここを探せばわかる:
→ ソースとコメント(当然)
→ パッチを投げたメール
→ その人が他で投げたメール
→ その人が他で書いた資料・論文

 $ grep -ri crypto.fips_enabled 
   Documentation/
 $
これから
こういった k-p.txt の翻訳ではない、

  パラメータを起点にした
  カーネル探検

を細々とやってきたいので、一緒に
やりたい方、いかがですか?

Invitation to Kernel Parameter and Code Exploration