windows系统svchost.exe进程占用资源(CPU,内存)较高 如何处理?

赞赏 2016-07-12

windows系统内名为【svchost.exe】的进程,CPU或内存资源使用率一直居高不下,导致系统卡顿,影响正常使用。



什么是 svchost.exe

svchost.exe 是计算机上的一个进程,该进程是Windows上用于执行各种功能的其它单独服务的宿主。例如,Windows Update服务就是挂载到svchost.exe 进程宿主下的服务。

可以有多个 svchost.exe 的实例在计算机上运行,其中每个实例都包含不同的服务。svchost.exe 的一个实例可能有单个服务或多个服务。


问题定位方法 


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

方法1. 使用任务管理器做简要分析

 打开系统自带的【任务管理器】,快速判断出相应svchost进程下挂载的对应服务:

a)     通过右键单击任务栏,然后单击“启动任务管理器”,打开“任务管理器”。

b)     切换到“进程”选项卡

c)     单击“显示所有用户的进程”,若系统提示您输入管理员密码或进行确认,请键入该密码或提供确认

d)     右键单击资源使用过高的 svchost.exe实例然后单击“转到服务”按钮,与进程关联的服务将在“服务”选项卡上突出显示

11.png

12.png


方法2 使用SC Config命令隔离服务

此外,在找到CPU占用高的Svchost之后,也可以尝试通过SC Config命令将svchost中驻存的服务“独立”出来到单独的svchost中运行,请参考微软官方博客文章。

Getting Started with SVCHOST.EXE Troubleshooting

How to troubleshoot Service Host (svchost.exe) related problems?

例如,客户遇到高CPU的情况,定位下来发现是svchost占用CPU较高。通过tasklist命令发现对应的svchost进程中有多个服务驻存。

tasklist /svc 

通过Sc config 命令我们可以将这些服务独立出来运行到单独的svchost进程中

sc config wuauserver type= own

执行成功后重启机器, 发现Windows Update服务已经成功独立

随后,经过监控发现确实是Windows Update的服务消耗CPU较高,后续响应的调整Windows Update策略晚上进行更新,避免工作时间影响服务器业务的运行。

如果恢复该服务与其它服务一起驻存到相同svchost中,请执行如下命令后重启生效。

sc config wuauserv type= share


方法3. 使用procexp做深入分析

通过任务管理器只能定位出相应svchost进程下挂载的服务,但无法查看具体是哪个服务占用了过高的系统资源。

使用微软官方Sysinternals Suite安全组件包中的procexp工具,可以做进一步的排查分析,定位出具体占用过高系统资源的服务、进程和关联文件等。

a)     到官方下载procexp

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

13.png

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

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

14.png

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

15.png

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

登陆后阅读全文
阅读 2213 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

Clinton的头像

Clinton

the best of the best

相关文章

windows Server 安装IIS和FTP操作步骤

阿里云如何连接 Windows 实例

windows服务器异常重启以及蓝屏如何处理?

Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1

如何远程连接Windows 服务器?

Window上传文件到Linux服务器后多出^M 符号,怎么办?

windows 2008 Paged Pool Leak(页面缓冲池内存泄露)的排查

windows 2008系统找不到控制面板

Windows 2008 服务器开始菜单中没有运行选项?

windows Server 2008 MetaFile如何设置限制占用内存的大小?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

如何查询服务器远程登陆日志?

RDP-Tcp 中最大连接数显示为灰色,不能更改?

Winodws远程连接服务器如何映射本地电脑磁盘

Windows服务器提示 您的帐户已被停用

Windows远程端口无法监听公网地址?

Windows 2012设置允许单个用户连接多个会话的方法

Windows Server 2003 远程桌面 无法修改壁纸

Windows 2008远程连接提示“本地会话管理器 服务未能登录”

Windows系统服务器远程桌面连接通过 CapsLock 键关闭大小写的方法

如何远程连接Windows 服务器?

手机扫一扫
分享文章