[译] 用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, ...
随机推荐
- java内存管理--栈、堆和常量池
今天有朋友问java中String[] str = s.split(",")的内存分析,于是开始查资料并测试.首先,发现在java的内存管理中"常量池"是个很奇 ...
- Codeforces-707D:Persistent Bookcase (离线处理特殊的可持久化问题&&Bitset)
Recently in school Alina has learned what are the persistent data structures: they are data structur ...
- MongoDb复制集实现故障转移,读写分离
前言 数据库技术是信息系统的一个核心技术,发展很快,各种功能类型数据库层出不穷,之前工作中使用过关系型数据库(mysql.oracle等).面相对象数据库(db4o).key-value存储(Memc ...
- RobotFramework:App九宫格滑动解锁
转自:http://blog.csdn.net/codekxx/article/details/50577381 手势密码在很多手机应用都会运到,手势密码都要求至少连接4个点,但AppiumLibra ...
- Mysql数据库实现高可用
Mysql实现高可用 MMM MMM(master-master replication manager for mysql)mysql主主复制管理器. MMM是一套灵活的脚本程序,基于perl实现, ...
- Struts2基本使用
Struts2:本质servlet 1.接受页面参数 a.使用原生的ServletAPI接受(不推荐) request.getParameter(name) 获取元素request方式: --Http ...
- 在线抠图网站速抠图sukoutu.com全面技术解析之canvas应用
技术关键词 Canvas应用,泛洪算法(Flood Fill),图片缩放,相对位置等比缩放,判断一个点是否在一个平面闭合多边形,nginx代理 业务关键词 在线抠图,智能抠图,一键抠图,钢笔抠图,矩阵 ...
- Ruby主要方法
方法定义 def hello(name) ... end 函数名 参数 作用 备 ...
- 拓扑排序复习——Chemist
一.基本算法 拓扑序列:对于一张有向图,求一个序列ai若对于每一条边(u,v),都满足au<=av ,则称这个序列为这张有向图的拓扑序列,一张图可能有多个拓扑序列. 求拓扑序列:找到入度为0的点 ...
- luogu P1095守望者的逃离【dp】By cellur925
题目传送门 考虑dp,设f[i]表示到第i时间,能到达的最远距离.因为题目涉及了三种操作:1,补血消耗魔法值:2, 等待增加魔法值:3,直接向前走.而1,3和2,3的操作是可以同时进行没有冲突的,所以 ...