1つのプロセスに対して+%100 CPU使用率をシミュレートする方法は?

1つのプロセスに対して+%100 CPU使用率をシミュレートする方法は?

オペレーティングシステム:CentOS 7.9

シミュレーション/生成したいです。1プロセステスト目的で、レポートはtop%100以上のCPUを使用します。 ps出力は次のようになります。

   USER         PID    %CPU     COMMAND
user.one        111245  1500    command

StressコマンドとStress-ngコマンドがありますが、100個しか許可されていません。

-l P, --cpu-load P         load CPU by P %%, 0=sleep, 100=full load (see -c)

また、超過購読オプションと一緒にmpirunを使用してストレスコマンドを実行してみましたが、成功しませんでした。

    -oversubscribe, --oversubscribe
Nodes are allowed to be oversubscribed, even on a managed system, and overloading of processing elements. 

よろしくお願いします!

答え1

たとえば、独自のテストアプリケーションをコンパイルしたくない場合は、次のようにします。pthread_create(3)何もせずに永遠にループするときに、それぞれのプロセスに100%のCPU使用率を追加する複数のスレッドを作成するには、多くの計算とそれに応じて並列処理を必要とする既製のツールを使用できます。

以下は、すべて並列圧縮を実行するツールの例です。pigzpixzpbzip2

CentOS 7の場合は一度エッフェルParallelのその他/epel-release以前の実装pxzpixz

pxz </dev/zero >/dev/null

リソースを消費する他のエントリがない場合は、シングル(マルチスレッド)プロセスのCPU使用率はnx 100%に近づく必要があります。デフォルトでは、n = コマンドの結果nproc

これらのオプションを使用してnx 100%未満に制限できます-T n

関連情報