[译] 用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, ...
随机推荐
- HNOI2008 GT考试 (KMP + 矩阵乘法)
传送门 这道题目的题意描述,通俗一点说就是这样:有一个长度为n的数字串(其中每一位都可以是0到9之间任意一个数字),给定一个长度为m的模式串,求有多少种情况,使得此模式串不为数字串的任意一个子串.结果 ...
- 【转】[钉钉通知系列]Jenkins发布后自动通知
转载请注明出处:https://www.cnblogs.com/jianxuanbing/p/7211006.html 阅读目录 一.前言 二.使用钉钉推送的优势 三.配置 一.前言 最近使用Jenk ...
- STL--lower_bound()&upper_bound();
又是两个黑科技一般的存在. 首先我们来介绍一下这两个函数: ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& ...
- CodeForces 712C Memory and De-Evolution (贪心+暴力)
题意:现在有一个长度为 x 的正三角形,每次可以把一条边减小,然后用最少的时间变成长度为 y 的正三角形. 析:一开始,正着想,然后有一个问题,就是第一次减小多少才能最快呢?这个好像并不好确定,然后我 ...
- 批处理(cmd)的学习记录
批处理的使基本使用 Command Introduction Example set 设置环境变量 set name="小明" call 启动应用程序 rem 解释说明,可通过 ...
- 2019年5月22日 AY 程序员调侃语录
我是AY,杨洋,做wpf开发的,最近得了一种病,程序员患得患失综合征.同事说,我年纪在变大,技术跟不上.业余之间,我原创了写了一些语录,给大家中午休息,累疲惫的时候,开心放松下. 1.活着的每一天都无 ...
- bzoj 2064: 分裂【状压dp】
参考:https://www.cnblogs.com/liu-runda/p/6019426.html 有点神奇 大概就是显然最直观的转移是全部合起来再一个一个拆,是n+m次,然后设f[i][j]为分 ...
- IT兄弟连 ElasticSearch在Linux下的安装和启动、常见问题解决
环境要求 · Linux(Centos 7) · ElasticSerach 6.6.1 ES下载 · 下载地址:https://www.elastic.co/cn/do ...
- Mac 开发 Hue
1)环境准备 Maven 3.6.1 python (Anaconda 2.7.16) MySQL 5.7 git 2.21 2)Hue源码下载 git clone git@github.com:ar ...
- [MySQL] LIMIT 分页优化
背景:LIMIT 0,20 这种分页方式,随着 offset 值的不断增大,当达到百万级时,一条查询就需要1秒以上,这时可以借助索引条件的查询来优化. SQL:select * from member ...