質問

RHEL ボックスがあり、適度な可変量の下に置く必要がありますCPU負荷(50%-75%)。

これについて最善の方法は何ですか?私が知らない、これを行うことができるプログラムはありますか?これを実現するためのCコードを書いてうれしいです。どのシステムコールが役立つかわかりません。

役に立ちましたか?

解決

これはまさにあなたが必要とするものです: http://weather.ou.edu/~apw/projects/stress/

ホームページから: " stressは、POSIXシステム用のシンプルなワークロードジェネレーターです。構成可能な量のCPU、メモリ、I / O、およびディスクストレスをシステムに課します。 Cで書かれており、GPLの下でライセンスされるフリーソフトウェアです。"

他のヒント

ソースコードがある単純な素数検索プログラムを見つけます。ソースコードを変更して、nanosleep呼び出しをメインループに追加し、必要なCPU負荷がかかる遅延を追加します。

システムに負荷をかける一般的な方法の1つは、大規模なソフトウェアパッケージを何度もコンパイルすることです。 Linuxカーネルのようなもの。

ソースコードのコピーを取得し、tar.bz2を抽出して、最上位のソースディレクトリに移動し、カーネル構成を/ bootから.configまたはzcat /proc/config.gzにコピー> .config、do make oldconfig、その後true。きれいに&&してくださいmake bzImage;完了

SMPシステムがある場合、make -j bzImageは楽しいです。makeタスクを並行して生成します。

これに関する1つの問題は、CPU負荷の調整です。ディスクI / Oで待機する場合を除き、最大CPU負荷になります。

Bashスクリプトを使用してこれを行うことができます。使用" ps -o pcpu | grep -v CPU"すべてのプロセスのCPU使用率を取得します。これらの値をすべて加算して、現在の使用状況を取得します。次に、基本的にこれらの値をチェックし、現在のCPU使用率を把握し、計算された時間待機してプロセッサを特定のしきい値に保つビジーwhileループを使用します。詳細が必要ですが、うまくいけば良い出発点になると思います。

この CPUモニタースクリプトを見て、これを達成する方法について他のアイデアを入手してください。

テストする対象によって異なります。 CPU負荷をテストするだけの場合は、空のCPUサイクルを食べる簡単なスクリプトで問題なく動作します。私は最近RAIDアレイのパフォーマンスをテストする必要があり、Bonnie ++とIOZoneに依存していました。 IOZoneは、特にファイルサイズをRAMより大きく設定した場合、ボックスに適切な負荷をかけます。

この記事

「nice」を使用します;コマンド。

a)最高の優先度: $ nice -n -20 my_command

または

b)最低優先度: $ nice -n 20 my_command

&をロードする簡単なスクリプトawkを使用してCPUをハンマーします。スクリプトは数学的計算を行うため、CPU負荷は高い値passwdでloadserver.shにピークアップします。

@a http://unixfoo.blogspot.com/2008/11/linux-cpu -hammer-script.html

これを実現するには、おそらく負荷生成ツールを使用するか、すべてのCPUサイクルを実行するスクリプトを実行してから nice および renice を使用して、プロセスが取得するサイクルの割合を変更します。

すべての空きCPUサイクルを占有するサンプルbashスクリプトは次のとおりです。

#!/bin/bash
while true ; do
true
done

Lookbusyは、CPU負荷の設定値を有効にします。 プロジェクトサイト

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

ここにあなたの目標が何であるかわかりません。 glxgearsは100%CPUを使用すると信じています。

だから、CPUを100%に最大化することがわかっているプロセスを見つけます。

4つのCPUコア(0 1 2 3)がある場合、「taskset」を使用できます。このプロセスをバインドして、CPU 0および1を指定します。これにより、ボックスが50%読み込まれます。 75%をロードするには、プロセスを0 1 2 CPUにバインドします。

免責事項:これをテストしていません。結果をお知らせください。これが機能する場合でも、これから何を達成できるかわかりませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top