1

CentOS6.3x64マシンでJVMインスタンスを実行しています。1つのCPU使用率が横行し、I/Oがマシン全体をブロックすることがあります。

すべてのJavaプロセスの使用を単一のコアに制限するにはどうすればよいですか?または2つのコア?または指定されたように?

私は試しましたがcpulimit、複数のコア、および同じ名前の複数のプロセスでは機能しませんでした。

指定された名前のすべてのプロセスのCPU使用率を制限する簡単な方法はありますか?

4

1 に答える 1

1

さて、あなたが必要とするpgrepのは(PIDを見つけるために)そしてtaskset。そして、ニーズに応じて、(スーパーユーザーとして)次のように実行します。

for pid in $(pgrep <pattern>);
do
  taskset -p 0x00000001 $pid
done

使用方法の詳細については、tasksetマニュアルページを参照してください。schedutilsパッケージのインストールが必要になる場合があります。

もちろん、プロセッサマスク(つまり、割り当てるCPU)を変更することで、そのスキームを必要な複雑さに変更できます。

私が思う cpusetに追加する必要があります(あなたが言ったと仮定すると、私は名前の付いたツールを知りcpulimitませんが、それは何も意味しません)同じ基本的なメカニズムを使用します。したがって、これはあなたの過去の試みと同じように無駄かもしれません。

于 2013-02-20T00:30:24.530 に答える