4つ以上のコアを持つ複数のマシンで動作するC++で開発された32ビットアプリケーション。アプリケーションでコア/プロセッサ消費量を分析しています。 32ビットアプリケーションで複数のコアを使用できるかどうか尋ねたいと思いますか?はいの場合は、それを確認する方法はありますか?32ビットアプリケーションが複数のコア/プロセッサを使用するかどうか
0
A
答えて
2
32/64-bitは、仮想メモリのアドレス指定にアプリケーションが使用するビット数です。アプリケーションが使用するコア数は、その数から完全に独立しています。
通常、アプリケーションはアクティブなスレッドを持つものと同じ数の使用可能なコアを使用します(Hans Passantは正しく指摘しているため、他のスレッド、IOなどを待っているスレッドがブロックされる可能性があります。いずれのコアについても)。
タスクマネージャでプロセスのCPU使用率を確認するだけです。プロセスがCPUの100%/number_of_cores
未満を使用すると、効果的にシングルスレッドになります。より多くを利用するなら、それは複数のコアで動作することを意味します。あなたの目的は、マルチスレッド技術を適切に使用して、利用可能なCPUの100%
を利用させることです(32ビット版の問題とは関係ありません)。
関連する問題
- 1. 32ビットアプリケーションの64ビットライブラリを使用する
- 2. c:64ビットアプリケーションで32ビットポインタを使用しますか?
- 3. 64ビットアプリケーションと32ビットアプリケーション間のブリッジ
- 4. 64ビットグローバルフックが32ビットアプリケーションをロックする
- 5. 64ビットアプリケーションが32ビットプロセスを開始する
- 6. 64ビットマシンでVisual Studioを使用して32ビットアプリケーションをコンパイルする
- 7. 32ビットアプリケーションを使用して64ビットシステム上のショートカットファイルからターゲットパスにアクセスする
- 8. 64ビットアプリケーションの32ビット部分をどのようにデバッグ(GDB)できますか?
- 9. 32ビットアプリケーションから64ビットレジストリにアクセス
- 10. 32ビットアプリケーションをアンインストールして64ビットアプリケーションをインストールする
- 11. LD_PRELOAD_PATH(64ビット環境での32ビットアプリケーション用)
- 12. 重複する32または64ビットアプリケーションを閉じる
- 13. 32ビットアプリケーションから64ビットのコマンドラインを起動できますか?
- 14. 64ビットMFC DLLを使用しようとしているC++の32ビットアプリケーション
- 15. 32ビットアプリケーションから64ビットレジストリを読み取る
- 16. 64ビットプラットフォーム上の32ビットアプリケーションのパフォーマンス
- 17. 64ビットWindows(メモリ)の32ビットアプリケーションの動作
- 18. 32ビットアプリケーションは何を意味していますか?
- 19. 32ビットアプリケーションからCOM経由でx64アセンブリを呼び出す
- 20. 32ビットアプリケーションからCEF3 64ビットを呼び出す
- 21. 32ビット/ 64ビットアプリケーション、OS、プロセッサの関係は?
- 22. 32ビット実行可能ファイルが大きいにもかかわらず、32ビットアプリケーションが64ビットバージョンより少ないRAMを使用する理由
- 23. FreeBSDで32ビットアプリケーションで4GB以上のRAMを使用できます
- 24. Windows上の64ビットアプリケーションで32ビットODBCドライバを使用することはできますか?
- 25. 64ビットマシンを使用して32ビットアプリケーションを開発することはできますか?
- 26. 32/64ビットアプリケーションをチェックするためのレジストリキーの読み込み
- 27. 64ビットアプリケーションが32ビットWindowsサービスを呼び出す - VS 2013デバッグ
- 28. 32ビットアプリケーションのメモリが不足しています
- 29. ubuntuの32ビットアプリケーションをビルドし、64ビットのlibを使って実行する
- 30. 複数のpthreadが同じ関数を使用するとどうなるか
32ビットアプリケーションでは、64ビットアプリケーションよりコアの使用量が少なくて済みます。わからない場合は、デバッガを使用します。デバッガの[スレッド]ウィンドウが適切です。技術的には、[並行性アナライザ](https://msdn.microsoft.com/en-us/library/dd537632.aspx)で効果的に使用されるコアの数は、複数のスレッドが同時に複数のコアを使用する。スレッドはコードをスレッドセーフに保つために互いにロックする習慣があります。タスクマネージャは単純な傾向があります。 –
ありがとうHans。並行処理アナライザを使用して試してみます。どうもありがとう。 – Vivek
@HansPassantもう1つ確認していただけますか? 64ビットプロセスにはこのような制限はありません。使用可能なすべてのCPUを同時に使用できます。 – Vivek