複数のスレッド、たとえば 10 ~ 20 スレッドを生成する Java プログラムがあります。このプログラムは、32 個のプロセッサを搭載したマシンで実行される予定です。
すべてのプロセッサーの能力がこれらのスレッドによって利用されるかどうか知りたいです。
Solaris は環境です。それは何か違いがありますか?
複数のスレッド、たとえば 10 ~ 20 スレッドを生成する Java プログラムがあります。このプログラムは、32 個のプロセッサを搭載したマシンで実行される予定です。
すべてのプロセッサーの能力がこれらのスレッドによって利用されるかどうか知りたいです。
Solaris は環境です。それは何か違いがありますか?
優れたプロファイラーはこれを教えてくれるはずです。スレッドがコンピューティング バウンドの場合、はい、スレッドと同じ数のコアを使用します。I/O の実行または競合でブロックされている場合は、それよりも少なくなります。
Windows を使用していない場合、以下は当てはまりませんが、適切なプロファイラーを使用すれば、一定期間プロセスによって消費される CPU サイクルの測定値を提供できるはずです...
Windows を使用している場合、プラットフォーム SDK の一部である Windows Performance Toolkit (xperf) を無料で使用できます。一定期間、各スレッドまたはプロセスで消費されたプロセッサ サイクルが表示されます (単なる経過時間ではなく)。