修复服务主机:诊断策略服务高 CPU 使用率

已发表: 2021-02-03
诊断服务政策

您可能知道,有许多活动的后台进程和服务有助于 Windows 的顺利运行。 大多数这些后台进程/服务使用最少的 CPU 功率和 RAM。 虽然,有时一个进程可能会出现故障或被破坏并最终使用比平时更多的资源,而为其他前台应用程序留下的资源很少。 诊断策略服务就是这样一个因在极少数情况下会占用系统资源而臭名昭著的过程。

诊断策略服务是 Svchost.exe(服务主机)的共享进程之一,负责检测各种 Windows 组件的问题并对其进行故障排除。 如果可能,该服务会尝试自动修复任何检测到的问题,如果没有,则记录诊断信息以进行分析。 由于问题的诊断和自动故障排除是无缝体验的重要功能,因此诊断策略服务已设置为在计算机启动时自动启动并在后台保持活动状态。 它消耗比预期更多的 CPU 功率背后的确切原因尚不清楚,但根据潜在的解决方案,罪魁祸首可能是服务的损坏实例、损坏的系统文件、病毒或恶意软件攻击、大型事件日志文件等。

在本文中,我们解释了五种不同的方法,可帮助您将诊断策略服务的 CPU 消耗恢复到正常水平。

诊断服务政策

内容

  • 修复服务主机:诊断策略服务高 CPU 使用率
  • 诊断策略服务高 CPU 使用率的潜在修复
  • 方法一:从任务管理器结束进程
  • 方法 2:运行 SFC 和 DISM 扫描
  • 方法 3:更新 Windows 并运行性能疑难解答
  • 方法 4:清除事件查看器日志
  • 方法 5:禁用诊断策略服务并删除 SRUDB.dat 文件

修复服务主机:诊断策略服务高 CPU 使用率

诊断策略服务高 CPU 使用率的潜在修复

大多数用户只需重新启动诊断策略服务即可解决异常高的磁盘使用率问题。 其他人可能需要执行一些扫描(SFC 和 DISM)来查找损坏的系统文件或运行内置的性能故障排除程序。 更新到最新版本的 Windows 并清除事件查看器日志也可以解决此问题。 最后,如果似乎没有任何效果,用户可以选择禁用该服务。 但是,禁用诊断策略服务意味着 Windows 将不再执行自动诊断和解决错误。

方法一:从任务管理器结束进程

如果某件事提示了它的损坏实例,则一个进程可能会占用额外的系统资源。 在这种情况下,您可以尝试手动终止进程(此处为诊断策略服务),然后让它自动重新启动。 所有这些都可以通过 Windows 任务管理器(使用 Windows 任务管理器终止资源密集型进程)来实现。

1.右键单击开始菜单按钮并选择任务管理器

右键单击开始菜单按钮并选择任务管理器 |修复服务主机:诊断策略服务高 CPU

2. 单击更多详细信息以展开任务管理器并查看所有当前活动的进程和服务。

单击更多详细信息以查看所有后台进程

3.找到服务主机:Windows进程下的诊断策略服务右键单击它并选择End task 。 (您也可以通过左键单击选择服务,然后单击右下角的结束任务按钮。)

在 Windows 进程下找到 Service Host Diagnostic Policy Service 并右键单击它。选择结束任务。

诊断策略服务将自动重新启动,但如果没有,只需重新启动计算机并检查问题是否仍然存在。

方法 2:运行 SFC 和 DISM 扫描

最近的 Windows 系统更新甚至防病毒攻击可能已损坏某些系统文件,导致诊断策略服务的 CPU 使用率很高。 幸运的是,Windows 具有内置实用程序来扫描和修复损坏/丢失的系统文件。 第一个是系统文件检查器实用程序,顾名思义,它检查所有系统文件的完整性并用缓存副本替换损坏的文件。 如果 SFC 扫描无法修复损坏的系统文件,用户可以使用部署映像服务和管理 (DISM) 命令行工具。

1. 在 Windows 搜索栏中键入命令提示符,并在搜索结果到达时单击右侧面板中的以管理员身份运行

在 Cortana 搜索栏中键入命令提示符 |修复服务主机:诊断策略服务高 CPU

2. 在命令提示符窗口中输入sfc /scannow并回车执行。 扫描可能需要一段时间,所以请坐下来,在验证过程达到 100% 之前不要关闭窗口。

在命令提示符窗口中输入 sfc scannow 并按回车键执行。

3. 完成SFC 扫描后,执行以下DISM 命令。 同样,请耐心等待扫描和恢复过程完成,然后再退出应用程序。 完成后重新启动计算机。

 DISM /在线 /Cleanup-Image /RestoreHealth 

执行以下 DISM 命令 |修复服务主机:诊断策略服务高 CPU

另请阅读:如何通过系统空闲进程修复高 CPU 使用率

方法 3:更新 Windows 并运行性能疑难解答

如前所述,最近的 Windows 更新也可能是诊断策略服务异常行为的罪魁祸首。 您可以尝试回滚到以前的更新或查找 Microsoft 推送的任何新更新以纠正错误。 如果您在更新 Windows 时遇到任何问题,请运行内置的更新疑难解答。

除了更新 Windows,还可以运行系统性能疑难解答来扫描任何性能问题并自动修复它们。

1. 同时按Windows 键 + I启动系统设置,然后单击更新和安全设置。

按 Windows 键 + I 打开设置,然后单击更新和安全

2. 在 Windows 更新选项卡上,单击检查更新。 该应用程序将开始寻找任何可用的更新并自动开始下载它们。 安装新更新后重新启动计算机。

通过单击检查更新按钮检查新更新 |修复服务主机:诊断策略服务高 CPU

3. 检查诊断策略服务是否仍在占用您的系统资源,如果是,则运行更新疑难解答。 再次打开更新和安全设置并移至疑难解答选项卡,然后单击其他疑难解答

转到疑难解答选项卡,然后单击高级疑难解答。 |修复服务主机:诊断策略服务高 CPU

4. 在启动并运行部分下,单击Windows 更新以查看可用选项,然后单击随后的运行疑难解答按钮。 按照屏幕上的说明完成故障排除过程。

要运行系统性能疑难解答:

1. 在开始搜索栏中键入控制面板,然后按Enter 键打开它。

控制面板 |修复服务主机:诊断策略服务高 CPU

2. 单击故障排除

控制面板故障排除 |修复服务主机:诊断策略服务高 CPU

3. 在系统和安全下,单击运行维护任务超链接。

运行维护任务

4. 在以下窗口中,单击高级并选中自动应用修复旁边的框。 单击下一步以运行疑难解答。

点击自动应用维修

另请阅读:修复桌面窗口管理器高 CPU (DWM.exe)

方法 4:清除事件查看器日志

事件查看器程序维护所有应用程序和系统错误消息、警告等的记录。这些事件日志可以累积到相当大的大小并提示服务主机进程的问题。 只需清除日志即可帮助解决诊断策略服务的问题。 我们建议您定期清除事件查看器日志以避免将来出现任何问题。

1. 按Windows 键 + R启动运行命令框,键入eventvwr.msc并单击确定以打开事件查看器应用程序。

在运行命令框中键入 Eventvwr.msc,|修复服务主机:诊断策略服务高 CPU

2. 在左侧窗格中,通过单击小箭头展开Windows 日志文件夹,然后从随后的列表中选择应用程序

通过单击小箭头展开 Windows 日志文件夹并选择应用程序

3. 首先,通过单击右侧窗格中的Save All Events As... 保存当前事件日志(默认情况下,文件将以 .evtx 格式保存,以 .text 或 .csv 格式保存另一个副本。)并保存后,单击清除日志...选项。 在随后的弹出窗口中,再次单击清除

通过单击将所有事件另存为保存当前事件日志

4. 对安全、设置和系统重复上述步骤。 清除所有事件日志后重新启动计算机。

方法 5:禁用诊断策略服务并删除 SRUDB.dat 文件

最终,如果上述方法都无法修复 Service Host: Diagnostic Policy Service High CPU 使用率问题,那么您可以选择完全禁用它。 您可以通过四种不同的方式禁用该服务,最简单的一种是通过服务应用程序。 除了禁用之外,我们还将删除 SRUDB.dat 文件,该文件存储有关计算机的各种信息(应用程序电池使用情况、应用程序从硬盘驱动器写入和读取的字节数、诊断等)。 该文件由诊断策略服务每隔几秒钟创建和修改一次,这会导致磁盘使用率很高。

1. 在运行命令框中键入services.msc ,然后单击确定打开服务应用程序。 (有 8 种方法可以打开 Windows 服务管理器,因此请随意选择。)

在运行命令框中键入 services.msc,然后按 enter |修复服务主机:诊断策略服务高 CPU

2. 确保所有服务都按字母顺序排序(单击名称列标题这样做)并查找诊断策略服务,然后右键单击并选择属性

查找诊断策略服务,然后右键单击并选择属性。

3. 在常规选项卡下,单击停止按钮终止服务。

4. 现在,展开启动类型下拉菜单并选择禁用

展开启动类型下拉菜单并选择禁用。 |修复服务主机:诊断策略服务高 CPU

5. 单击应用按钮保存更改,然后单击确定关闭属性窗口。

单击应用按钮以保存更改

6.接下来,双击桌面上的文件资源管理器快捷方式图标打开相同的,然后前往以下地址:

C:\WINDOWS\System32\sru

7. 找到SRUDB.dat文件,右键单击它,然后选择Delete 。 确认可能出现的任何弹出窗口。

找到 SRUDB.dat 文件,右键单击它,然后选择删除。 |修复服务主机:诊断策略服务高 CPU

如果您未能成功从服务管理器应用程序禁用诊断策略服务,请尝试其他三种方法之一。

1.从系统配置:打开系统配置 > 服务选项卡 >取消选中/取消选中诊断策略服务。

打开系统配置服务选项卡取消选中诊断策略服务。

2.从注册表编辑器:打开注册表编辑器并前往:

 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DPS

3. 双击右窗格中的开始,然后将数值数据更改为4

双击右窗格中的开始,然后将数值数据更改为 4。修复服务主机:诊断策略服务高 CPU

4.重新启动计算机,Windows 将自动重新创建 SRDUB.dat 文件。 诊断策略服务不应再处于活动状态,因此会导致任何性能问题。

受到推崇的:

  • 修复服务主机:本地系统 (svchost.exe) 高 CPU 和磁盘使用率
  • 修复服务主机的高 CPU 使用率:本地系统
  • 如何使用 CMD 修复或修复损坏的硬盘?
  • 修复 Windows Audio Device Graph Isolation 高 CPU 使用率

我们希望本指南对您有所帮助,并且您能够修复 Windows 10 计算机上的服务主机:诊断策略服务 CPU 使用率高的问题。 您可以尝试防止该问题在未来再次发生的几件事是更新所有计算机驱动程序并执行定期防病毒扫描。 您还应该卸载已达到其目的且不再需要的第三方应用程序。 如需有关诊断政策服务的任何帮助,请在下面的评论部分与我们联系。