软件吧
登录注册账号
/posts/i5-10400-nvme-microsoft-windows-diagnostics-perf
电脑必备

拿注册表对比了两台同配置机器,发现开机慢的罪魁祸首是显卡驱动自带的计划任务

极客阿凯 72 0 13

上周帮同事排查一台开机奇慢的机器,i5-10400 + 16G + NVMe,跟另一台几乎同配置的机器比,开机时间差了将近 40 秒。同事说他已经把启动项全关了,还是慢。我一开始也怀疑是启动项的问题,但拿秒表掐了 10 次冷启动,两台机器差得特别稳定——不是偶发,是必现。

既然启动项不是问题,那就往上层查。我做了三件事:

第一步,看系统日志里的启动耗时。 在事件查看器里翻 Microsoft-Windows-Diagnostics-Performance/Operational,事件 ID 100 那条,能看到每个启动阶段的耗时。结果发现,那台慢的机器卡在“驱动初始化”阶段,比正常机器多了 30 多秒。

第二步,对比注册表里的启动项。 重点看 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 和 RunOnce,还有 HKLM\SYSTEM\CurrentControlSet\Services 下各服务的 Start 值。两台机器比对下来,服务启动类型基本一致,Run 键里也没啥异常。

第三步,翻计划任务。 在 taskschd.msc 里按“触发时间”排序,找“启动时”触发的任务。慢的那台机器上,NVIDIA 的 NvNodeLauncher 和 NvTmRep 两个任务都在启动时触发,而且我翻了一下这两个任务的历史记录,每次开机都跑了将近 30 秒。其中 NvTmRep 是 NVIDIA Telemetry,负责收集遥测数据,对普通用户来说完全没必要开机就跑。

处理办法: 我把这两个计划任务直接禁用,然后再次冷启动 10 次,开机时间从平均 52 秒降到 19 秒,基本追平了正常机器。

几个细节补充:

  • 注册表里的 Run 键是最容易被看到的,但计划任务和服务的 Start 值才是藏得深的。
  • 计划任务里还有一个 \Microsoft\Windows\Application Experience\ProgramDataUpdater,这个有时候也会在启动阶段占资源,但优先级不高,我没动它。
  • 禁用 NVIDIA 遥测任务后,显卡驱动功能完全正常,游戏和渲染都没问题。

结论: 启动慢别只盯着启动项,先看事件查看器里的启动耗时诊断,再按“启动时触发”筛计划任务,最后才动注册表。顺序反了容易白折腾。

对了,你们有没有遇到过类似情况——某个硬件厂商的驱动自带计划任务,悄摸摸在启动阶段跑一堆遥测?你们是直接禁掉还是留着?想听听大家的处理习惯。

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。