2016-12-09 11 views
0

私はマルチコアリサーチのCPUサイクルを無駄にする単純なアプリケーションを作成しようとしています。私が作成したものはコア使用量が100%になります。私はこれを達成するために調整しなければならない約30%60%70%であることを望みますか?前もって感謝します。PythonでCPUサイクルを無駄にする

現在のバージョン:2で数を割ることはすぐにとにかく何度も何度も0/2となってしまいますように多数でスタート

a=999999999 
while True: 
    a=a/2 
+1

これは答えではありませんが、多分それは:Pythonを使わないでください – MariusSiuram

+2

'import time;適切な大きさの「n」については1:time.sleep(n) 'である。 – TigerhawkT3

+1

@mozcelikorsあなたはこのリンクhttp://xmodulo.com/run-program-process-specific-cpu-cores-linux.html –

答えて

1

は、必要ありません。また、CPUサイクルを消費するためにループ内で何かを実際に実行する必要はありません。ループするだけで十分です。このため、無限ループ(たとえwhile 1: passのような単純なものでも)が殺されるまで、CPUコア全体を食べることになります。コア全体を占有しないようにするには、time.sleepを使用して、一定期間スレッドの実行を一時停止します。この関数は、スレッドがスリープする時間を秒単位で表す単一の引数をとります。浮動小数点数を受け入れます。

import time 
while 1: 
    time.sleep(0.0001) 

単にあなたがテストしたい各コアのために(ワークロードのための適切な睡眠時間で、あなたの特定のシステムに入れたいのですが)、このスクリプトのインスタンスを実行します。

オペレーティングシステムによっては、スリープ時間が1ミリ秒未満になることがあり、スリープ時間がゼロになることが原因で、この戦略と互換性がないことに注意してください。詳細については、Python: high precision time.sleepおよびHow accurate is python's time.sleep()?を参照してください。

関連する問題