まずは,cgroupの説明.
Linuxの機能としてControl Group(cgroup)があります.
この機能を使うと,CPUやメモリ,ディスクIO,ネットワークIOなどを
制限することができます.
今日のCSセミナーでこれを用いたリソース最適化手法に関する
研究をしている人がいて,面白いなぁと思った.
その時にふと思ったんだけど,cgroupでメモリの使用量を制限した
場合,制限に達するとそのプロセスはどうなるんだろう?
mallocしたらエラーになるんだろうか.
RedHatの資料を見た感じ,実メモリとスワップも含めたものと
別々に設定ができるようだし,制限に達するとエラーになりそう.
3.7. memory
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/sec-memory.html
ココらへん,どうなってるか調べてみたいところだな.
cgroups関連でこんなのがあります。
https://events.linuxfoundation.org/slides/2011/linuxcon-japan/lcj2011_maya.pdf
とよおか - 2011-12-10 23:36:13
早速見て見ました,ありがとうございます!
IOの割合をcgroupを使って制御して,全体としての性能向上をはかる,といった感じの内容でしょうか?
(ちょっとevaluationのグラフがいまいち読み取れなかった...w)
こちらも結構面白そうですね.
ただ,先の話もそうなんですが,スケジューラとも協調してやると良いのかなぁ,とか思いました.
カーネルの機能として,最適化する部分まで入っているというのは面白そう.
yasuharu - 2011-12-11 11:00:05