CentOS 5(2.6.18カーネル)でのプロセスリソース消費の制限

CentOS 5(2.6.18カーネル)でのプロセスリソース消費の制限

同じサーバーでプロセスのリソース(CPU、メモリ、およびネットワーク帯域幅)の消費を制限したいです。プロセスをあるサーバーから別のサーバーに移行できることをお勧めします。

軽い仮想化を探していると思います。私はLXCが良い選択だと思いました。ただし、2.6.18カーネルはLXCをサポートしていません。共有クラスタなので、カーネルをアップグレードできません。そして、「setrlimit」システムコールは、仮想マシンのようにリソース消費を制限するのではなく、予算に達したときだけプロセスに信号を送るようです(間違っている場合は訂正してください)。このタスクに関する提案はありますか?

ありがとうございます!

ベストアンサー1

これらのリソースの一部は pam_limits モジュールによって制限される場合があります。これに関する主な文書は以下にあります。

man limits.conf

すべてのRed Hatタイプシステムの設定ファイルは/etc/security/limits.confです。

おそらく最初に理解する必要があるのは、ハード制限とソフト制限の関係です。また、見なければならないいくつかのディレクティブは次のとおりです。

  • CPU
  • メモリロック
  • 核兵器

マニュアルページの下部にいくつかの例があります。

ネットワーク帯域幅に関して、これは実行するのがより困難です(しかし不可能ではありません)。基本的なアイデアは、iptablesを介してUIDに基づいてアクセスを制限し、トラフィック制御(tc)を介してトラフィックを実行することです。

man tc

おすすめ記事