我在 Windows XP 中遇到了一个奇怪的问题。启动时,系统生成的任何进程(服务、自动运行程序等)都设置为使用 CPU 的两个线程。但是 Explorer 及其生成的任何程序都设置为仅使用“CPU 0”。
我尝试将 的亲和性设置explorer.exe
为两个线程,但下次启动时它仍然只使用一个线程。不知何时何地, 的设置explorer.exe
被修改了,而且似乎不想改回/保存。
不要提及 msconfig(这是 XP),或任务管理器或 Process Lasso,因为我不是在询问环境运行时的亲和力,我要求Windows 存储亲和性设置的位置。
答案1
它可以是第三方 shell 扩展,就像这样博客文章。您计算机上的某些其他应用程序安装了在资源管理器中运行的扩展,并且正在设置 CPU 亲和性。
我不相信 Windows 中内置有任何可以保存 CPU 亲和性设置的功能。
答案2
CPU 亲和性可以在 .exe 中设置。旧版本的资源工具包附带了一个名为 imagecfg 的程序。它允许您在 exe 上设置亲和性掩码,或将其设置为“单处理器”(即“选择任何处理器”),设置大地址感知标志,等等。
对于 Windows 附带的任何 exe,默认情况下不会执行此操作。但您安装的某些程序可能对 explorer.exe 执行了此操作。
正如 shf301 所说,shell 扩展也可能对您的 explorer 实例执行了此操作。您可以使用 NirSoft 的 ShellExView 工具仔细检查(并实验性地禁用)您的 shell 扩展:http://www.nirsoft.net/utils/shexview.html