开发者社区> 问答> 正文

“svchost.exe”进程导致CPU或内存资源使用率居高不下怎么办?

问题描述:


用户发现ECSWindows系统内名为“svchost.exe”的进程,CPU或内存资源使用率一直居高不下,导致系统卡顿,影响正常使用。


什么是 svchost.exe
svchost.exe是计算机上的一个进程,该进程是Windows上用于执行各种功能的其它单独服务的宿主。例如,Windows Update服务就是挂载到svchost.exe 进程宿主下的服务。
可以有多个 svchost.exe 的实例在计算机上运行,其中每个实例都包含不同的服务。svchost.exe 的一个实例可能有单个服务或多个服务。


解决过程:
用户可以尝试通过如下方法定位出占用过高系统资源的具体程序或服务。

1、使用任务管理器做简要分析


用户可以使用系统自带的【任务管理器】,快速判断出相应svchost进程下挂载的对应服务:
a)    通过右键单击任务栏,然后单击“启动任务管理器”,打开“任务管理器”。
b)    切换到“进程”选项卡。
c)    单击“显示所有用户的进程”。 如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。             
d)右键单击资源使用过高的 svchost.exe实例,然后单击 “转到服务”按钮。与进程关联的服务将在“服务” 选项卡上突出显示。




2、使用procexp做深入分析


使用任务管理器只能定位出相应svchost进程下挂载的服务,但是无法查看具体是哪个服务占用了过高的系统资源。
使用微软官方Sysinternals Suite安全组件包中的procexp工具,可以做进一步的排查分析,定位出具体占用过高系统资源的服务、进程和关联文件等。

a)  到官方下载procexp


b)  打开procexp,如下图所示,将鼠标指向占用资源异常的svchost进程,气泡提示框就会相应显示出该svchost进程下挂载的相应服务。




c)  双击相应的svchost,弹出的进程属性对话框。


d)  切换到“Services“选项卡,也同样能查看到相应svchost进程下挂载的相关服务。并能对相应服务进行权限设置、停止、重启、暂停等快捷操作。





e)  切换到“Threads“选项卡,能看到相应svchost进程下占用最高资源的线程的CPU使用率和归属的服务。






f) 确定了相应服务或者线程归属动态链接库文件后,用户再做相应的处理即可。



展开
收起
洛欢 2015-08-24 11:44:51 9625 0
4 条回答
写回答
取消 提交回答
  • Re“svchost.exe”进程导致CPU或内存资源使用率居高不下
    Server系统必备指南!感谢分享
    2015-08-25 11:41:18
    赞同 展开评论 打赏
  • 一个程序员,欢迎骚扰!!!
    windows服务器 还是有特殊需求的
    2015-08-24 13:34:18
    赞同 展开评论 打赏
  • 论坛总版主
    这个收藏了
    2015-08-24 12:48:45
    赞同 展开评论 打赏
  • 爱好建站
    谢谢分享
    2015-08-24 12:00:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
RDS SQL Server CPU高使用率性能优化 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载

相关实验场景

更多