我们在 Windows 域中有许多 Windows 7 x64 笔记本电脑 Dell Latitude E5550。Cca 1-2(-3?) 几周前都开始在一天中随机冻结几次,持续几秒钟。
冻结意味着 Windows 完全没有响应,numlock 灯开关工作了一段时间,然后它也停止工作,然后又恢复正常响应。整个过程非常随机地重复,冻结持续时间从几秒到最长不等。cca 20-30 秒。
我们已尝试卸载有问题的 KB3114717,但没有任何改善。使用 AVG 防病毒软件、Office 2013、Windows 7 x64。
我知道这不足以给出任何答案,但是是否有像 Sysinternals ProcessMonitor 中的设置或过滤器可以让我查看是否有 50% 或更多的 CPU 命中?
当问题发生时,perfmon 报告空白,我想这意味着它不能由任何简单的进程引起,并且必须是内核或驱动程序中的问题......?
从进一步分析看来,问题与Process
,即以下计数器在冻结之前急剧上升:
- 每秒分页错误
- 每秒输入/输出数据操作
- 每秒输入/输出读取操作的字节数
- 每秒输入/输出读取操作
但是在 PerfMon 数据中找不到任何有关导致此问题的过程的信息。
找了几个找麻烦的人选:1E NightWatchman, 1E WakeUp Agent, Realtek Audio Service, AVG Service,有选择的去试试
当我需要“调试”系统故障时,我在这里编写了这个脚本来获取一些进程数据。它将在等待进程退出的 powershell 会话中创建一个后台作业
它获取工作站上运行的每个进程的所有 GDI 对象、句柄、RAM 等信息。也许你可以尝试用这个来捕捉导致失败的过程。
我猜由于计算机死机,explorer.exe 进程没有响应。因此,只要 explorer.exe 响应属性不正确,我们就会触发 get-data 脚本。
只需在您想要的任何工作站上的 powershell 会话中启动此脚本。它将通过通知托盘中的气球文本可视化失败。如果您想要邮件通知,只需
Send-Mailmessage
在Get-MachineData
Part 后面加上一个。您可以在后台作业运行时使用 PowerShell。用于
get-job
查看作业是否真的在运行。详细信息将保存在 %userprofile%\ProcessDetails.txt
到目前为止,我还没有找到根本原因,但是禁用了以下服务的计算机:
现在冻结问题的数量为零。在禁用这些服务之前,它们偶尔会冻结。
Input/output data operations per second
在冻结发生之前,这些服务在 perfmon 中的上升。尝试禁用 ipv6,它可能是一个已知漏洞。
https://blog.coresecurity.com/2014/03/25/ms14-006-microsoft-windows-tcp-ipv6-denial-of-service-vulnerability/