0

現在、フルスロットルで実行されているように見えるアプリケーションを実行していますが、ファンが最大で回転しているように見え、アクティビティモニターが、アプリケーションがプロセッサを100%使用していると報告しているにもかかわらず、せいぜい、私のマシンの2つのコアのうちの1つだけを100%使用しています。

アプリケーションがコンピューターの処理能力の100%、またはOSが許可する限り使用できるように、OS Xに指示するにはどうすればよいですか?このプロセスの優先度を設定するために「nice」や「renice」などのいくつかのターミナルコマンドを試しましたが、それでもフルスロットルで実行することはできません。

また、逆の方法を知りたいのですが、アプリのプロセッサ使用量の制限を設定します。たとえば、アプリXを20%で実行するように設定します。

これは、アプリのコードを変更せずに行うことができますか?

4

1 に答える 1

3

これに対する答えは、アプリケーションがマルチスレッドかどうかによって異なります。これがシングル スレッド アプリケーションの場合は、特にマルチ スレッド化していない限り、プロセスはマルチコア ハードウェアの 1 つのコアで実行されます。これについてできることは何もありません。これは、基盤となるオペレーティング システムの機能です。

プログラムがマルチスレッドの場合、異なるスレッドを別々のコアで実行することができます。これにより、プロセスの全体的な使用量が増加し、100% を超える数値が可能になります。

ただし、使用可能な処理能力の「すべて」をマシンに強制的に使用させることはできませんが、nice を使用してマシンに影響を与えることはできます。

プロセッサの使用量を減らすために、nice を使用してプロセスの優先度を下げることができます。root の場合は、nice を使用してプロセスの優先度を上げることもできます

于 2009-06-05T07:50:56.290 に答える