[译] 用win7自带工具找出svchost.exe的CPU使用率达到100%的元凶
本文是我对自己上一篇转载的博客 《Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Windows 7》 的翻译。本人翻译的原则是力求通顺自然,因此很多地方并没有严格按照原文的词句来,而是争取用更符合我们语言习惯的方式表达类似的意思。
原文:Figuring out why my SVCHOST.EXE is at 100% CPU without complicated tools in Windows 7
译者:hello_mike_ || www.cnblogs.com/hellojianqun/ || hellojianqun@126.com ; 翻译日期:2015.09.26
=====================================华丽的分割线===================================
SvcHost.exe进程是Windows很多后台服务的宿主。它的全称是“Service Host”。在这个进程下运行着很多个服务。而且有时在任务管理器中你还会看到不只一个SvcHost.exe。
首先要知道的是,任务管理器在这件事情上是不能指望的了。虽然在任务管理器的“服务”标签栏中可以看到正在运行的服务的PID,但是要在其中找出正在发了疯吃你CPU的那个服务,好像也只能靠运气了……

于是你肯定就会想,这些个SvcHost.exe里面到底跑着些怎样的服务啊?又到底是哪个服务把我的CPU飚到了100%啊?
要解决这些问题,方法是有很多的。不过可不要简单地想直接把CPU使用率最高的那个SvcHost.exe进程结束掉就行了,因为这样会把这个SvcHost.exe底下运行着的其它服务也全部结束了的。
真正能用的方法,比如以下这些命令行:
net start
或者
sc query type= service
又或者
tasklist /svc
但如果用这些的话就违背我写这篇博客的初衷了,我要介绍的是一种简单的方法。
究竟是哪个服务崩溃了?
在开始菜单的搜索框中输入“资源监视器”并运行它。

在每一个SvcHost.exe进程前打上勾(或者只是勾选你感兴趣的那几个),然后,切换到“CPU”标签栏。

看到中间那个窗格里面的各个服务名称了没?这个时候你只要点击“CPU”那一列的表头使它们按CPU使用率排列,就马上知道是哪个服务在捣蛋了。你可以直接在这个服务上右键选择“停止服务”或者“重新启动服务”,还可以选择“联机搜索”,它就会自动打开默认浏览器用默认搜索引擎去查找这个服务的相关信息。

上述方法在我编写和调试服务的过程中不只一次地帮了我大忙。资源监视器会是你的好助手的。然而,好多人都不知道有这个东西存在……
你也来试试吧!
=====================================华丽的分割线===================================
以下为译者补充:
以上方法只适用于Vista及以上的操作系统,因此在XP上是不行的。并不是说XP上没有资源管理器所以就不行,而是即使用Process Explorer和Process Hacker这些具有同样功能的第三方软件也无法获取到,所以应该是系统API层面的问题。
[译] 用win7自带工具找出svchost.exe的CPU使用率达到100%的元凶的更多相关文章
- Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式最占cpu的进程
Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式 2016/12/220 Comments ######### ps -eo pid,ppid,%mem,%cpu,cmd ...
- 不断弹出svchost.exe错误框
同事的一台电脑,xp系统,启动后就弹出svchost错误的对话框,不论确定还是取消,关闭后立刻又弹出. 打开任务管理器,尝试对一些后安装的软件结束进程,结束一个,关闭一次,看看结束哪一个,关闭后不再弹 ...
- 利用SQL活动和监视器找出耗时与占用CPU较高的不良SQL语句
SQL活动和监视器是SQL Server自带的一个功能,在不断的升级优化中功能也越来越强大. 运行方式:服务器-->右键-->活动和监视器 可以看到很多数据库重要的运行状态. 1.等待任务 ...
- 海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)
前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些. 先拿10000个数建堆, ...
- 海量数据中找出前k大数(topk问题)
海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...
- 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?
记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next K-1 次不就是第K-1个节点了么,但是必须要注意一 ...
- jvm系列六、windows用jdk自带工具jps、jstack找出性能最差的代码
一.运行程序TestGC 二.用jps找出当前应用的进程号PID 到jdk安装目录的bin目录下输入: jps -l PID为1264 三.启动Process Explorer(下载地址:https: ...
- 通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
一.背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘.工具挖掘.代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存 ...
- 使用top工具,找出消耗CPU 较多的进程
1.使用top工具,找出消耗CPU 较多的进程 [oracle@cuug ~]$ top top - 10:48:27 up 23:15, 4 users, load average: 1.09, ...
随机推荐
- hadoop-3.0.0 配置中的 yarn.nodemanager.aux-services 项
在hadoop-3.0.0-alpha4 的配置中,yarn.nodemanager.aux-services项的默认值是“mapreduce.shuffle”,但如果在hadoop-2.2 中继续使 ...
- VPS 安全措施(CentOS 6)
新到手一台VPS,要做的第一件事大概是做好安全措施. 下面针对CentOS 6随便写点,我目前做的几步是: 修改root密码 SSH-key登录 配置iptable 安装fail2ban 1.修改ro ...
- OC静态代码检查实战
此文已由作者杨晓授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Mac OS系统上,采用Xcodebuild Analyze命令和OClint工具,对iOS项目进行静态代码 ...
- Java简单高精度合集
第一个Java的算法程序.记得可以使用Alt+'/'自动补全sysout和main之类的. BigInteger在java.math.BigInteger中. import java.math.Big ...
- 洛谷 - P1141 - 01迷宫 - dfs
https://www.luogu.org/problemnew/show/P1141 能互相到达的格子的答案自然是一样的,第一次dfs标记联通块,第二次dfs把cnt传递到整个联通卡并顺手消除vis ...
- c++常见面试题30道
1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数.malloc与free是C++/C语言的标准库函数,new ...
- 关于js变量作用域
先来看一段代码 var ss=1;function sss(){ alert(ss);}$(document).ready(function(){ var ss=2; alert(ss); sss() ...
- 基于FBX SDK的FBX模型解析与加载 -(三)
http://blog.csdn.net/bugrunner/article/details/7229416 6. 加载Camera和Light 在FBX模型中除了几何数据外较为常用的信息可能就是Ca ...
- P5110 块速递推
传送门 为啥我就没看出来有循环节呢-- 打表可得,这个数列是有循环节的,循环节为\(10^9+6\),然后分块预处理,即取\(k=sqrt(10^9+6)\),然后分别预处理出转移矩阵\(A\)的\( ...
- 五个demo案例带你学习PHP反序列化漏洞
一直想研究下php反序列化漏洞,花了几天时间做了个简单的了解..写篇文章记录下. 直白点就是围绕着serialize和unserialize两个函数. 一个用于序列化,一个用于反序列化. 我们通常把字 ...