2012-01-19 12 views
0

下記のようにリソース管理を実現するためにいくつかのLinuxパッケージを配管するソリューションを探しています。私はおそらく私が望むことができるデーモンを書くことができると知っていますが、私はそれほど些細でも時間のかかる作業もしたくありません。Linux:フェアシェアに基づいてユーザーあたりのCPU /メモリリソースを制限します。

私は多くのCPUを食べる長期間の計算に使用されるマシンを管理します。そのマシンでは、複数のユーザーがログインして計算を開始できます。目標は、マシンの負荷が最適化され、各ユーザーがCPU時間をかなり節約できることです。同様の問題であるが、これまでのところそれほどクリティカルではないが、メモリが存在する。

だから、これは私が何を意味するかを明確にするために働くかもしれないどのように私の考えです:

負荷オプティマイザはシステムプロセス(および最終的にはルート)に要求されたすべてのCPU時間を与え、残りの容量を計算します。この容量は、ログインしているユーザー数で除算されます。彼のシェアよりも少ないものを必要とする各ユーザは、彼が要求するものすべてを得る。すべてのユーザーが共有以上のものを必要とするまで再帰します。その後、残りのユーザーが等しくなるように調整します。リニシングによって。

これはjiffyに正確である必要はありません。長時間の計算は数時間、場合によっては数日間実行されます。したがって、均衡が5-10分の平均で均衡している場合、これはすでに完全なユーザースケジューリングです。

解決策を知っている人は誰ですか、それはおおよそですか?

+0

condorのようなバッチスケジューラを見たことがありますか? – Flexo

+0

特に計算スレーブを追加すると、Condorが面白く見えます。私は間違いなく将来の使用のためにそれを評価するでしょう。ポインタありがとう。 –

答えて

3

ユーザープロセスをユーザー単位のcgroupにソートし、LinuxのCFS cgroupスケジューリング(CONFIG_CGROUP_SCHED)を使用するように調整します。その間、私はシステムを推奨します。これはすでにユーザーごとのソートを行っているためです。

+0

systemdは新しくbfsとzenカーネルでは動作しません。 – Bytemain

+0

標準設定を使用できます。 –

+0

cgroupは非常に興味深いようです。私はその能力に関するいくつかの情報を得ようとし、適切なカーネルをコンパイルする価値があるかどうかを見てみましょう。 Debian Squeezeにとっては2.6.39が未来です。 ;) –

関連する問題