[译] 用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, ...
随机推荐
- windows下运行swoole搭建环境
swoole windows环境搭建 swoole框架是一个很神奇很厉害的框架,它弥补了PHP的本身的一些不足之处.其实swoole确切的说是一个使用C语言编写的PHP扩展,并且这个扩展不能够在win ...
- 机器学习 Hidden Markov Models 3
Viterbi Algorithm 前面我们提到过,HMM的第二类问题是利用HMM模型和可观察序列寻找最有可能生成该观察序列的隐藏变量的序列.简单来说,第一类问题是通过模型计算生成观察序列的概率,而第 ...
- if_test.py
strings=['xxaa','xuo','fwefxxx','woeuxxfei'] print(strings) #替换方法1 for string in strings: if 'xx' in ...
- 「LuoguP1238」 走迷宫
Description 有一个m*n格的迷宫(表示有m行.n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点.结束点(起始点和结束点都是用两个数据来描 ...
- linux部署web项目到tomcat下(图文详解)
大家好,相信不少初学者不知道如何将windows eclipse下开发的web项目部署到linux系统的tomcat下,今天我将图文并茂教大家 首先呢,比如我新建一个web项目,打开eclipse编辑 ...
- CTR预估经典模型总结
计算广告领域中数据特点: 1 正负样本不平衡 2 大量id类特征,高维,多领域(一个类别型特征就是一个field,比如上面的Weekday.Gender.City这是三个field),稀疏 ...
- 865C
二分+期望dp 好神奇啊...出题人太神了! 我们发现dp之间的关系不满足是一个dag,那么我们只能用高斯消元,但是由于这里是取最小值,需要取min,也不能用高斯消元,于是我们想出了一个奇妙的方法 我 ...
- Quartz 2D(常用API函数、绘制图形、点线模式)
Quzrtz 2D 绘图的核心 API 是 CGContextRef ,它专门用于绘制各种图形. 绘制图形关键是两步: 1.获取 CGContextRef ; 2.调用 CGContextRef 的方 ...
- zabbix忘记登录密码重置方法
1.忘记zabbix之后,先用mysql查看一下: [root@centos7-106 ~]# mysql -uroot -p -e "select * from zabbix.users\ ...
- git自动化部署+rsync文件同步
1.进入线上git裸仓库 2.编辑post-receive #!/bin/sh unset GIT_DIR cd /var/www/ git pull http://web:xxxxxxx@120.3 ...