Windows 7 は CPU 使用率が約 1% で止まってしまいます。特にマルチスレッドの場合

Windows 7 は CPU 使用率が約 1% で止まってしまいます。特にマルチスレッドの場合

Windows 7 32 ビット、最新、Intel i7 860。(何らかの理由で、会社ではどこでも 32 ビット Windows を実行しています。) 可能な限り、すべてのマザーボード ドライバーなどを更新しようとしました。

マシンでパフォーマンスの問題が発生していますが、これはマルチスレッドに関連して発生するものと思われます (そう思います)。

例として (私が最もよく目にする例ですが、他のプログラムにも表示されます): ProteoWizard は質量分析ファイルのファイル変換ツールです。ファイルのリストを追加でき、最大 8 つのファイルを並列処理します (クアッドコア x 2 スレッド/コア)。1 ~ 6 個のファイルを選択した場合、プロセスが開始され、そのまま進みます。キューに 7 個以上のファイルがある場合、変換は ~20% まで進み、15 秒間停止してから再び続行されますが、常に数 % の「チャンク」で停止してから再び停止します。

プロセスが停止している間、CPU は 1% です。RAM は制限されておらず、おそらく 70% 程度で、増加していません。

他の、さらに遅いマシンでは同じ問題は発生しません。

コンピュータは他の状況でも CPU 使用率が 1% で何もせずに停止しますが、マルチスレッドの場合はこれが最も頻繁に発生します。

問題はどこで調べればよいでしょうか?

問題を示すシステム情報のスクリーンショット http://i.minus.com/ibtjBN8RCsl7UV.png

編集: Process Explorer のこのスクリーンショットをご覧ください。限界に達しているものはありません。CPU はフラット、RAM は 60% で一定、I/O はフラット、GPU はフラット、ネットワークはフラット、ディスクはフラットです。プロセスがどの程度まで正常に実行され、どこで停止したかが正確にわかります。最初は 8 つのスレッドのうち 2 つが動作し続けますが、その後、それらも停止します。

答え1

お使いのマシンに固有の競合が発生していると思われます。

Sysinternals ツールをご存知ですね。プロセス モニターを試してください。これを実行して、> 7 キューを要求します。途切れる回数を書き留めます。procmon ログで、特に不正なパスへのファイルまたはネットワークのオープンを調べます。最終的には解放されますが、システム全体をブロックするタイムアウトがあります。

関連情報