HEARTBEATS

超期待の新機能cgroups

   

こんにちは。CTOの馬場です。

今回もインフラエンジニア向けにちょっとした情報を紹介します。

今回は、先日参加した レッドハットフォーラム 2010 で紹介されていた cgroups について紹介します。

※注:ざっくりとした理解で書いているので、誤りがあれば指摘してもらえると嬉しいです!

ここが理解が違う、こんな使い方もあるよ!などの情報は、twitterで @heartbeatsjp @hbstudy @toshiak_netmark あたりに教えてもらえると嬉しいです。

cgroupsとは?

cgroupsは Control Groupsの略で、 Linux kernelに組み込まれているリソース割り当て管理機能です。

「期待の新機能」とかタイトルつけましたが、 マージされたのは2.6.2xの頃のようなのでかなり時間は経っていますね。
RHEL的に新機能なので、ご愛嬌ということで。

プロセス(プロセスグループ)ごとに、下記のリソースの割り当てを変更できます。

  • CPU
  • メモリ
  • ディスクI/O
  • ネットワークI/O

ざっくりとした使い方

Linuxなので、ファイルベースで管理します。

  1. cgroupファイルシステムをマウントして
  2. cgroupを作成して
  3. CPU、メモリなどのリソース割り当てを定義して
  4. PIDをcgroupに登録する

といった感じです。

詳しくは 公式ドキュメントの1.5 How do I use cgroups ? を見てください。

使い方は 2. Usage Examples and Syntax にとても丁寧に書いてあります。

使いどころ

レッドハットフォーラム 2010の会場でも宣伝していましたが、 KVMを利用した仮想化基盤でのリソース割り当て管理に最適です。

いままで難しかった「VMごとのディスク・ネットワークI/O制御」がついに実現します!

スゴいでしょう?スゴいですよね?スゴいんですよ。

詳しい情報

公式ドキュメントを読みましょう ;)

http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

最新のLinux kernelにはマージされていますが、 RHEL/CentOS 5.xでは利用できないようです。

RHEL6では利用できるそうなので、これからが楽しみですね。

株式会社ハートビーツの技術情報やイベント情報などをお届けする公式ブログです。



ハートビーツをフォロー

  • Twitter:HEARTBEATS
  • Facebook:HEARTBEATS
  • HATENA:HEARTBEATS
  • RSS:HEARTBEATS

殿堂入り記事