我知道,defrag
当我的系统处于空闲状态时,Windows 有时会使用其程序对我的分区进行碎片整理。此外,有时我会defrag
自己执行,以提高利用率和启动时间性能。
但是,有没有办法知道它是否已经执行过、何时执行以及执行了多少次?Windows 是否会在其注册表或事件管理器中保留一些可以显示此类信息的日志?
答案1
我认为您必须创建一个计划任务来记录活动。您也可以设置一个 .bat 文件来进行记录。我一直认为有些任务很奇怪不是在 Windows 中自动登录。
答案2
我要说的是,你问错了问题,因为一个小事实:你为什么关心多常驱动器是否已进行碎片整理?您如何知道这些碎片整理操作是否全部成功完成?这些信息对您有何用处?
你不应该关心驱动器碎片整理的频率,但你应该关心多少它很碎片化,尤其是当碎片化达到影响性能的程度时。我个人不知道那是什么程度,但我知道在 Windows 上,您可以在对驱动器进行碎片整理之前运行defrag X: /a /v
查看详细 ( /v
) 分析 ( /a
)。这将为您提供磁盘碎片化的大致百分比。
我认为,任何高于百分之几的情况都值得快速进行碎片整理。编写一个批处理文件来自动执行此操作,仅在达到某个阈值时才对硬盘进行碎片整理,这很简单。在同一个批处理文件中,您还可以在执行碎片整理作业时将其记录到文件中,这样您就可以根据需要进行计数。ioi 还提到,您也可以使用计划任务来执行此操作。
答案3
Windows 磁盘碎片整理程序每次完成时都会自动生成日志条目,但并非每次启动时都会自动生成日志条目。
磁盘碎片整理完成后,您可以进入事件查看器并查看应用程序日志。按来源筛选日志,然后选择碎片整理。
答案4
我发现了两种可能性:
Windows 注册表:regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\Statistics\Volume{GUID}\LastRunTime
在这里我找到了一个十六进制值,我认为它是上次碎片整理的运行日期。在统计信息注册表文件夹中还有很多其他有用的统计信息,例如 DirectoryCount、FragmentedFiles 等...
在 Windows 计划任务中
,这里有一个名为“SchedueledDefrag”的计划任务。在这里我可以看到下一个执行日期,如果之前启用了计划历史记录,我可以看到上次运行日期。