2016-08-22 29 views
0

私のアプリケーションでCPU使用量を制御したいのですが、誰でもその達成方法を手助けできますか?例については特定のプロセスのCPU使用率を制御する方法は?

:私はその内の関数を書きたい、我々は150のように引数を渡す場合、私は開始するかどうかはわからない、として、その特定のプロセスのCPU使用率が150

コードを書いていないため申し訳ありませんがなければなりませんと。

私はコードを要求していませんが、誰かがロジックを手伝うことができれば/それを達成する方法は?

答えて

1

基本的に、Linuxカーネルには、あらゆる種類のプロセスのためのリソースを管理する機能が既に組み込まれています。 Cコードを書かなくてもそれを悪用することができます。

これとは逆に、単に使用方法を自分で教えたければ、cgroupsです。あなたの側にカスタムコードを書くための「最小限の」努力で、その背後にある概念を使いたいと思っています。

ここでホイールを再発明しないでください。あなたのホイールは(ほとんどの場合)が不足していますは、既存のcgroupsがあなたのためにできるものと比較して今日

あなたのコメントを読んでも、自身のソリューションを実装する必要があると思われる理由はありません。あなたのプログラムがX%より少ない必要がある場合。とにかくそれについて何もすることはできません。そしてそれがX以上のものを望むならば。あなた自身の独占的な仕組みを作り出すことのポイントは何ですか?

とにかく、おそらくcpulimitツールがあなたを助けてくれるかもしれません。

あなたの「本当の」問題は次のように見えます。「CPU負荷をどのように生成するか」よくそこに着く方法はたくさんあります。たとえばhereを参照してください。

+0

貴重なご返信ありがとうございます。 しかし、私の質問は違うものです。 私はcgroupの機能と機能について非常に認識しています。 私の質問は私のアプリケーションです/私のプログラムは、引数で指定されたCPU使用率を開始する必要があります。 例:私がwhile(1);を開始する場合。 CPU使用率= 100% 私がsleep(1)をwhile(1)に入れた場合、CPU使用率= 0-1%。 だから、私が望むのは、どんな利用方法で議論しても、私のアプリケーションはその多くのCPUを使い始めるべきです。 – Chirag

+0

Sir、基本的には、要件ごとにCPUストレスをゲーティングするためのテストツールを用意していますが、cpulimitは<100%の場合に役立ちますが、100%を超える場合はどうでしょうか? CPU使用率を100%以上にするにはどうすればよいですか? 私はスレッドの作成だけが助けになると思いますか、それとも他の方法がありますか? – Chirag

+0

OK、私の答えの別のアップデート。 – GhostCat

関連する問題