如何在 Win11 中查看哪些服务在占用 CPU 定位系统卡顿根源详细教程

轻明君_2985

轻明君_2985

2026-05-07

950人浏览

原创

若Windows 11卡顿但任务管理器无高占用进程,问题常源于后台服务;可通过资源监视器下钻svchost.exe关联服务、PowerShell提取CPU数据、性能监视器长期采样及任务管理器“转到服务”四步精准定位。

如何在 win11 中查看哪些服务在占用 cpu 定位系统卡顿根源详细教程

如果您在使用 Windows 11 时遭遇系统卡顿、风扇狂转或响应迟缓,但任务管理器“进程”页未显示明显高占用应用,则问题很可能隐藏在后台服务中。服务常以 svchost.exe 等通用宿主进程形式运行,单看进程名难以识别真实来源。以下是精准定位 CPU 占用服务的详细操作步骤:

一、通过资源监视器下钻识别高CPU服务

资源监视器可将 svchost.exe 等共享进程与其承载的具体服务逐一分离,并实时映射线程级 CPU 时间消耗,是定位服务级瓶颈最直接有效的原生工具。

1、按下 Win + R 打开“运行”对话框。

2、输入 resmon 并按回车,启动资源监视器。

3、切换到 CPU 选项卡,观察上方“CPU 使用时间”曲线是否持续高位波动。

4、在下方“进程”列表中,点击 % CPU 列标题进行降序排列,重点关注 svchost.exe 类进程。

5、勾选一个高占用的 svchost.exe 进程左侧复选框,底部“关联的服务”面板将自动展开,列出该进程托管的所有服务名称及实时 CPU 占用百分比。

6、在“关联的服务”列表中,按 % CPU 排序,定位占用率最高的具体服务(如 Windows Update、Superfetch 或第三方软件服务)。

二、使用 PowerShell 命令提取服务级CPU数据

PowerShell 可绕过图形界面限制,直接调用系统性能计数器获取每个服务的独立 CPU 时间累计值,结果结构化、可筛选,适用于快速比对与批量分析。

1、按下 Win + X,在快捷菜单中选择 Windows Terminal(管理员) 或 PowerShell(管理员)。

2、输入以下命令并回车执行:
Get-Counter '\Service Fabric Service(*)\% Processor Time' -ErrorAction SilentlyContinue | ForEach-Object {$_.CounterSamples} | Where-Object {$_.CookedValue -gt 0} | Sort-Object CookedValue -Descending | Select-Object InstanceName, CookedValue -First 5

3、若返回为空,说明 Service Fabric 未启用;改用通用服务查询:
Get-Counter '\Process(*)\% Processor Time' -ErrorAction SilentlyContinue | ForEach-Object {$_.CounterSamples} | Where-Object {$_.InstanceName -like 'svchost*' -and $_.CookedValue -gt 10} | Sort-Object CookedValue -Descending | Select-Object InstanceName, CookedValue -First 8

4、记录输出中 InstanceName 列显示的 svchost 实例编号(如 svchost#12),该编号与任务管理器“详细信息”页中的 PID 后缀一致。

5、回到任务管理器“详细信息”页,按 PID 列排序,找到对应编号的 svchost.exe 进程,右键选择“转到服务”,即可高亮显示其全部托管服务。

三、通过服务管理器结合性能日志交叉验证

服务管理器本身不显示实时 CPU,但配合“性能监视器”可创建长期采样日志,识别间歇性高负载服务,避免瞬时峰值被遗漏,特别适用于排查开机后缓慢升高的卡顿现象。

怪兽AI知识库
怪兽AI知识库

一款面向企业知识管理的 AI 知识库工具,通过企业资料与大模型结合构建智能问答能力,帮助员工更便捷地查找和使用内部知识。

下载

1、按下 Win + R,输入 perfmon 并回车,打开性能监视器。

2、在左侧面板展开“数据收集器集”→“用户定义”,右键选择“新建”→“数据收集器集”。

3、输入名称(如 ServiceCPUTrace),选择“手动创建(高级)”,点击“下一步”。

4、勾选“性能计数器”,点击“添加”按钮,在列表中依次添加以下计数器:
• \Service(_Total)\% Processor Time
• \Process(svchost*)\% Processor Time
• \Processor(_Total)\% Processor Time

5、设置采样间隔为 15秒,日志保存路径设为非系统盘,完成向导后右键刚创建的集合,选择“开始”。

6、复现卡顿场景持续 5 分钟后,右键停止该集合,双击生成的 .blg 日志文件,在图表中展开各计数器,对比 svchost* 与 _Total 曲线峰值重合点,定位对应时段内活跃的 svchost 实例。

7、根据实例编号,回到 services.msc 中查找其托管服务,确认服务名称与启动类型。

四、利用任务管理器“详细信息”页关联服务诊断

任务管理器“详细信息”页支持直接查看进程所承载的服务,无需额外工具,适合快速验证单一高占用 svchost.exe 的服务归属,操作门槛最低。

1、按下 Ctrl + Shift + Esc 打开任务管理器,确保显示“更多详细信息”。

2、切换至 详细信息 选项卡,点击 CPU 列标题排序,找到占用率最高的 svchost.exe 进程。

3、右键该进程,选择 转到服务 —— 此操作将自动跳转至“服务”选项卡,并高亮显示该进程托管的所有服务项。

4、观察高亮服务的“状态”列,确认是否正在运行;点击“描述”列查看官方功能说明,判断其必要性(如 Dhcp 为网络必需,SysMain 可禁用)。

5、对非核心且确认异常的服务,右键选择“打开服务”,在弹出窗口中检查“启动类型”,若为“自动”,可进一步右键该服务选择“停止”,观察 CPU 占用是否回落。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

win11

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

3909

3

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2023.07.25

2528

9

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

2023.08.02

1460

5

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.09

1398

4

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

2023.09.05

1456

5

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

2023.09.20

2458

7

c语言get函数的用法
c语言get函数的用法

get函数是一个用于从输入流中获取字符的函数。可以从键盘、文件或其他输入设备中读取字符,并将其存储在指定的变量中。本文介绍了get函数的用法以及一些相关的注意事项。希望这篇文章能够帮助你更好地理解和使用get函数 。

2023.09.20

4140

8

c数组初始化的方法
c数组初始化的方法

c语言数组初始化的方法有直接赋值法、不完全初始化法、省略数组长度法和二维数组初始化法。详细介绍:1、直接赋值法,这种方法可以直接将数组的值进行初始化;2、不完全初始化法,。这种方法可以在一定程度上节省内存空间;3、省略数组长度法,这种方法可以让编译器自动计算数组的长度;4、二维数组初始化法等等。

2023.09.22

19955

6

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

569

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习