超期待の新機能cgroups | 株式会社ハートビーツ(HEARTBEATS Corporation)|AWS・クラウド・サーバーなどのインフラ運用を24時間365日サポート

インフラエンジニアway

超期待の新機能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では利用できるそうなので、これからが楽しみですね。

TOP