WindowsXPで奇妙な問題が発生しています。起動時に、システムによって生成されたプロセス(サービス、自動実行プログラムなど)は、CPUの両方のスレッドを使用するように設定されます。ただし、エクスプローラー、およびエクスプローラーが生成するプログラムは、「CPU0」のみを使用するように設定されています。
Explorer.exe
のアフィニティを両方のスレッドに設定しようとしましたが、次回の起動時に1つしか使用しません。どこか、いつか、どういうわけか、Explorer.exe
の設定が変更され、元に戻したり保存したりしたくないようです。
実行時のアフィニティsettingについて質問していないので、msconfig(これはXPです)、タスクマネージャー、またはProcessLassoについては気にしないでください。 m質問Windowsがアフィニティ設定を保存する場所。
これは、次のようなサードパーティのシェル拡張である可能性があります ブログ投稿 。マシン上の他のアプリケーションがエクスプローラー内で実行される拡張機能をインストールし、CPUアフィニティーを設定しています。
CPUアフィニティ設定を保存するWindowsに組み込まれているものはないと思います。
CPUアフィニティは.exeで設定できます。古いバージョンのリソースキットに付属しているimagecfgというプログラムがありました。これにより、exeにアフィニティマスクを設定したり、「ユニプロセッサ」(「任意のプロセッサを選択」を意味する)に設定したり、ラージアドレス対応フラグを設定したりすることができました。
これは、Windowsに付属しているexeファイルではデフォルトでは実行されません。しかし、インストールしたものがExplorer.exeに対してこれを行った可能性があります。
Shf301が言ったように、Shell拡張機能がExplorerのインスタンスに対してこれを行った可能性もあります。 NirSoftのShellExViewツールを使用してシェル拡張機能を熟読(および実験的に無効化)できます: http://www.nirsoft.net/utils/shexview.html