har*_*ymc 28
由于svchost.exe的一个实例承载了多个系统服务,这里就是如何将这些服务分开,每个到自己的svchost.exe实例,从而找出哪个服务占用了CPU。
程序如下:
使用任务管理器显示按CPU降序排列的所有进程并标记消耗CPU的进程的PID
在命令提示符 (cmd) 中输入命令
Tasklist /svc /fi "IMAGENAME eq svchost.exe"
svchost.exe 有问题的实例现在可以通过它们的 PID 来定位,并且在右侧你会找到它们托管的系统服务列表
对于列表中的每个名称,在以管理员身份运行的命令提示符 (cmd) 中输入以下命令:(
sc config <name> type= own
注意 '=' 和 'own' 之间的空格)
重启
您分离的系统服务现在将在其自己的 svchost.exe 实例中运行,并且可以在“进程”选项卡的“任务管理器”中看到。您可以右键单击一个实例并选择“转到服务”以直接转到该服务,或者再次使用 tasklist 命令。
有关详细信息,请参阅 Microsoft 文章
SVCHOST.EXE 故障排除入门。
Process Explorer使这变得容易。我已经确认这适用于 64 位 Windows 7 Professional 和 64 位 Windows 10 Pro 上的 Process Explorer v16.20。
svchost.exe
具有高(甚至只是可测量/非空白)值的过程CPU
。按Process
或CPU
列排序可能会对此有所帮助。svchost.exe
进程并选择Properties...
。Threads
选项卡。将显示此进程中的所有线程。CPU
。按CPU
列排序可能会对此有所帮助。Service
列将显示运行该线程的服务的名称。如果您不熟悉服务名称...
Services
选项卡。将显示在此进程中运行的所有服务。Service
将Services
选项卡上的Service
列与Threads
您在步骤 6 中找到的选项卡上的列的值相匹配。Display Name
列将显示服务的友好名称。所选服务的描述将出现在服务列表下方。 归档时间: |
|
查看次数: |
3270 次 |
最近记录: |