我正在查看的系统是 Windows 7,32 位。
系统启动时,会花费大量时间读取和写入位于 Windows\SoftwareDistribution\DataStore 目录中的 DataStore.edb 文件。这会使系统运行非常缓慢,持续几分钟,说实话大概有 10 分钟。如果您停止 Windows 更新服务,系统将在一分钟内停止读取和写入文件,一切运行顺利。
我尝试过的事情:
我停止了 Windows 更新,删除了文件,然后重新启动,但当我这样做时,Windows 会重建文件,直到它的大小达到几百 MB。一旦 Windows 对其正在做的事情感到满意,它就会停止,我的磁盘使用率和提示会降至正常水平,系统会以足够的速度做任何你想做的事情。
我已经启动到安全模式并运行了几次病毒扫描和卡巴斯基的 RootKit 杀手工具,没有人发现任何令人反感的东西。
下一步我应该尝试什么?
答案1
我知道现在无法为您提供合适的解决方案,但我在工作时遇到的 Windows 7 机器也遇到了同样的问题。为了便于将来参考,您可以随时使用 检查 ( /g
) 和/或碎片整理 ( /d
) *.edb 文件的完整性esentutl.exe
。
例如esentutl.exe /d c:\Windows\SoftwareDistribution\DataStore\DataStore.edb
如果您无法运行此命令并出现“-1032”错误,您可以启动到安全模式(无网络)并从那里运行该命令。您可能首先需要使用 /p 开关运行它来修复文件损坏。
答案2
内存地图显示C:\Windows\SoftwareDistribution\DataStore\DataStore.edb
映射文件浪费了我 400 Mb 的宝贵 RAM。此外,Windows Update 在更新该大型文件的过程中不断减慢系统速度。
esentutl.exe
只是将DataStore.edb
大小从略大于 600 MB 减少到略小于 600 MB,并且在我看来毫无用处。
http://juneyourtech.blogspot.com/2013/06/datastoreedb-and-windows-vista.html指出删除此文件也是不可能的,因为 Windows 更新会将其重建为下次运行时的相同大小。
所以我不得不完全禁用Windows 更新服务自动运行。这大大降低了 RAM、CPU 和磁盘 IO 的浪费。系统现在响应速度更快。
也可以看看如何安排下载 Windows 7 更新?了解使用 Windows 任务计划程序启动更新的方法。
更新
答案3
扩展@mafbailey 的回答(也非常感谢你!),确保在使用以下命令行操作时以管理员身份打开命令提示符以获得适当的文件权限。
如果我不知道的话我就会被困住=)
esentutl.exe /d c:\Windows\SoftwareDistribution\DataStore\DataStore.edb
答案4
尝试安装Windows 更新 KB3050265,2015 年 6 月 2 日发布。
这是可选的,因此您可能必须在控制面板 > 系统和安全 > Windows 更新 > 显示所有可用更新 > 可选中查找它,然后手动安装它。