最近我开始遇到非常糟糕的操作系统行为:
Windows 的队列管理或通信出了问题,以下是我遇到的情况:
打开文件夹的链接 -> 几分钟内什么都没有发生 -> 然后出现错误:explorer.exe:“服务器执行失败”。
有时它会在第一次尝试打开快捷方式时突然发生,有时它会在多个请求时失败(第一个窗口正常,第二个正常,第三个 - 再次出错)。似乎复杂的链接更容易导致这种情况(例如
%SystemRoot%\explorer.exe ,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
:)打开一些需要“安全显示”(如 UAC)来输入密码或其他内容的任务,会导致“致命的 .Net 错误”,屏幕变白,错误消息后面有一个红色 X。确认它会挂起 UI,并停留在空白桌面上
尝试运行需要 Windows 安装程序的某些程序将导致错误:“错误 1719。无法访问 Windows 安装程序服务。”
打开一个 Word 文档将导致以下错误:“无法注册该文档...”(一个文档出现多次);“无法初始化 Visual Basic 环境”(每个文档出现一次)。
在 services.msc 中,选择 DCOM 服务器进程启动器,打开其属性->依赖项,导致窗口无响应、冻结。
运行“进程资源管理器”会导致崩溃(它会创建崩溃转储,但我不知道如何正确分析它们)
许多其他需要注册表/Windows 服务访问的东西将无法运行
很难说是什么原因造成的,但一旦出现上述问题之一,所有其他问题也会被触发。有时它会立即进入混乱状态,有时(通常)在 explorer.exe 请求的压力之后。尝试重新启动 PC,然后终止重新启动例程(在“等待关闭程序”屏幕期间)通常可以解决该问题。
然后我尝试区分在问题发生时生成的活动进程列表(使用 Process Hacker),以及在重新启动期间“恢复”状态后生成的活动进程列表。然后尝试“修复”有问题的状态,手动终止不同的进程。唯一似乎真正有效的方法是重新启动“WmiPrvSE.exe”进程。
然后,我在这里查看了一些“WMI”恢复建议:WMI 问题的修复列表。我尝试重建 windows 系统文件 (sfc /scannow);重新启用/刷新/重新同步/重新加载性能计数器;重建 wbem 存储库。但都无效。
这台 PC 是一台一年前的联想 ThinkPad 笔记本电脑(i7,16GB),运行 Windows 7 Ultimate x64。它装载了相当多的软件,但在压力大和多任务处理非常繁重的情况下通常表现非常好。我无法指出导致此行为的任何特定软件更改(但总体而言没有进行重大更改)。
这看起来非常像是某些 SW 冲突扰乱了内部 Windows 任务队列。但我需要想办法更具体地找出它。
欢迎提出任何建议!提前致谢!
答案1
似乎我找到了这个问题的触发因素。事实证明,这个问题是由密集的多线程处理导致/与之相关的:
我通常会同时处理多个项目,使用几个虚拟屏幕、多个互联网浏览器(基于 Chromium)窗口和许多打开的选项卡。我注意到的是问题的发生与浏览器启动时启动的标签数量有关。
一旦我启动浏览器,会话(启动时恢复)超过 25-30 个选项卡,问题就会出现,并持续很长时间。导致上述所有问题,直到系统重新启动。
但是,如果我逐渐地、手动地逐个增加浏览器中打开的选项卡数量,则不会出现任何问题(我测试了最多 100 个选项卡,没有出现任何明显问题)。
因此,由于基于 Chromium 的浏览器中的每个选项卡都在单独的进程中运行,我认为 Windows 在处理所有这些请求时遇到了一些麻烦。不过,这只是我的猜测,但至少有一些线索可以说明发生了什么。目前,我会尽量避免在终止浏览器会话之前打开 20 多个选项卡,以防止下一个选项卡的积极启动。