如何修复 Microsoft 服务“诊断策略服务”占用约 4GB 内存和约 1 个 CPU 核心且占用率达到 100%?

如何修复 Microsoft 服务“诊断策略服务”占用约 4GB 内存和约 1 个 CPU 核心且占用率达到 100%?

如何修复微软“诊断策略服务”占用约 4GB 内存和约 1 个 CPU 核心且达到 100% 的问题?

我发现有一个进程一直在消耗大量的 CPU,因为我的电脑风扇一直在旋转以产生热量。但问题是 CPU/内存的使用率并不总是很糟糕。当你重新启动该进程时,它似乎会暂时消失。

我用了一个python 程序 psrecord测量该进程(及其子进程)的 CPU 使用率和内存使用率,发现该进程大约需要 12 小时才能达到最大内存使用率,并且 CPU 使用率很高:

在此处输入图片描述

第一个图是:

  • x 轴时间(秒)
  • y 轴 CPU 使用率百分比(100% 为一个完整核心)

第二张图是内存使用情况:

  • x 轴是天数
  • y 轴表示内存使用量(以 MB 为单位)

答案1

简而言之:您必须停止该进程,删除该进程使用的目录 C:\Windows\System32\sru,然后重新启动该进程。完成此操作后,该服务现在使用大约 20 MB 内存和 0% CPU。

以下是内存使用率下降的屏幕截图:

在此处输入图片描述


很长的故事:

*1 这是脚本的低级步骤:

  • 呼叫sc。将服务“DPS”设置为“需求”(又名“手动”)
  • 调用sc以获取“DPS”进程 ID 号 (PID)
  • taskkill停止 PID 的调用
  • rd删除 src 目录的调用
  • 要求sc将“DPS”服务更改为“自动”
  • 呼吁sc启动“DPS”服务

相关内容