如果你ctrl+alt+del,蹦出任务管理器,你从上到下扫一眼,所有的进程你都认识,知道他们是干什么的,并且知道关掉有什么后果,而且你还能从CPU和内存占用的数字跳动上清楚的知道电脑现在什么状态,那么你应该没有女朋友。
人人上出现这个状态以后,连续有三位好基友在转发的时候@了我……中枪好严重啊我=w=本来一直为此而感到很得意的……

Fiona说让我写篇技术文分享一下……但是实际上这里面很多东西来自于长时间使用带来的经验,直接的叙述并不能带来太多的提高。

不过想了想,其实还有有一些比较常见的窍门可以总结总结的。So,攻略或教程写不出来,分享一些Tips吧~


基本使用

1.常见的启动任务管理器的方法:Ctrl+Alt+Del/Ctrl+Shift+Esc可以直接唤出或者在出现的锁定屏幕里点击任务管理器唤出。右击任务栏—任务管理器唤出。开始—运行(或Win+R)—输入taskmgr并确定唤出。

2.打开任务管理器会停留在上次关闭时打开的选项卡。下方的状态栏上显示了当前的进程数、CPU使用率和内存使用率。对于双核的CPU,如果CPU使用率长时间保持在50%,实际可能表示某个程序完全占用了CPU的一个核心,除了转换视频之类的工作,这往往意味着这个程序出现了问题。

3.“应用程序”选项卡显示的是当前正在前台运行的窗口,后面显示了它的运行状态。右击弹出的选项菜单里,“结束任务”和“转到进程”是比较常用的。对于“未响应”状态的程序,有时候“转到进程”会转到dwm或explorer进程上,并不是实际的进程。

4.“进程”选项卡任务管理器的精华所在。默认的任务管理器在进程选项卡里并没有显示特别有用的信息,应当进行调整。以我的配置为例,点击查看—选择列,勾选“PID”、“用户名”、“CPU使用率”、“内存—专用工作集”、“命令行”、“映像路径名称”、“描述”。并拖动把映像名称、用户名、CPU使用率、内存、描述放在前面,其余的放在后面。窗口宽度只要能显示到内存或描述基本就足够了。另外建议勾选“显示所有用户的进程”。

5.后面的“性能”和“联网”一看就懂,不做过多说明。Win7的“服务”应用略高级,也不多说了。

6.XP的任务管理器有“关机”菜单(网吧一般没有,这个和当前用户的权限似乎有关)。按住Ctrl键点击其中的关机或重启的话,计算机会以极快的速度进行关机或重启……但是这个关机的过程跳过了很多正常关机的步骤,几乎是直接就向着断电进发,所以极易导致文件丢失等错误。这个技巧吧……也就在老爸老妈管得比较严,偷偷开机然后又碰上二老回来的时候用……

再回头继续讲“进程”选项卡。

7.映像名称就是我们常说的进程名,除了System Idle Process和System,一般都是exe结尾。

8.建议对进程排序的时候,按PID从大到小来排序。一般来说,PID越小的进程,是系统进程或者先启动的进程,而PID值很大的进程,通常是用户启动的进程。这一点并不绝对,也没有太明确的分界线。后面会提到一些辨别进程是否安全的方法,PID的大小可以起到一定的参考。

9.CPU使用率下显示的是程序当前使用的CPU资源百分比。当CPU使用率居高不下的时候,按CPU使用率从高到低排序一下,不断跳动但是一直排在上面的就是罪魁祸首。但是不要盲目的结束程序……System Idle Process总是占用当前CPU剩余的资源,从它的名字也可以看出来它没有实际消耗,所以不用管它。(实际上它如果保持很高的百分比的话,你的CPU实际使用率是不高的)。

10.内存一列可以拿来做参考……我也没有太弄懂究竟哪一个“内存”是实际使用的内存,但是这个值高的肯定占用不小。如果系统运行很卡,但是CPU使用率并没有保持在85%以上,检查下有哪些吃内存的大户。

11.“描述”一列来自于可执行文件内部存储的信息,也就是说,只是这个进程所声称的它是什么,不一定真实。但是大部分情况下是真实的,而没有描述的都是比较可疑的。“描述”可以用来配合CPU使用率和内存两列,通过结束部分程序来释放系统资源。


常见进程

1.explorer.exe,资源管理器……XP时代也是窗口管理器。Win7下似乎有一部分职责被dwm.exe接管。

2.System,smss.exe,csrss.exe,wininit.exe,winlogon.exe,services.exe,lsass.exe,svchost.exe(有很多个),是系统的核心进程以及部分核心服务的进程,除非你确定你知道自己在做什么,否则不要轻易结束其中的任何一个。当然,很多情况下想结束其中的某些程序也是很困难的。

3.wuauclt.exe,Windows自动更新的程序。随便你结束不结束……如果你开着自动更新它还会再运行起来的。

4.spoolsv.exe,打印机的服务。Win7下我不是很确定是不是还是这个名字……好多年没用打印机了,所以打印机的服务一直是关掉的。

5.QQ.exe,TXPlatform.exe,QQ运行时开启的部分程序。

6.Thunder.exe,ThunderPlatform.exe,迅雷运行时开启的程序。

7.iexplore.exe,IE的进程……我强烈建议不要使用IE。不管你是继续使用基于IE核心的遨游搜狗360也好,还是转投FireFox、Chrome、Opera或Safari,不要直接使用IE。除了开启系统更新的时候(Win7的系统更新也不以IE为基础了)。这个进程实在是太臭名昭著了。绝大部分的木马和病毒都会或者至少可以使用这个进程作为掩护。(事实上explorer.exe也是,但是explorer.exe扔不掉……)

8.还有很多进程,比如一些驱动程序、实用工具,包括很多杀毒软件的进程我也没有列出来。安装完成系统之后,经常打开任务管理器看看,看看进程名和它的描述,就慢慢熟悉了。


进程的辨别

下面说一下一些简单的判断进程有害与否的技巧……这基本上都是初中时代病毒泛滥的时候,手杀病毒拿icesword一刀一刀砍出来的经验……对于处理病毒来说,任务管理器是远远不够的(比如看不到进程加载的模块)。但是在很多时候,只是通过看看进程,就能看到很多可能存在的问题,可以尽早采取进一步的处理。

下面是一些不成体系的技巧。每一条都不是绝对的,不要太着急做判断。但是如果符合多条的话……实在是太可疑了。

1.没有描述的程序,可疑。(描述很笼统简单的程序有时候也很可疑,运行services.msc看看那些服务的描述可以让你对微软的说话方式更熟悉一些。)
2.上面列举的“常见系统进程”,用户名是你自己的用户名,而不是SYSTEM或NETWORK SERVICE或LOCAL SERVICE的,可疑。
3.上面列举的“常见系统进程”,映像路径名称里的文件位置,都应当在System32文件夹下(包括dwm.exe,explorer.exe在Windows文件夹下),如果不在,很可疑。
4.使用拼音做文件名……抛开360的“ZhuDongFangYu.exe”,基本上只有一些爱好者做的小程序可能使用,如果都不是,可疑。
5.“exp1ore.exe”“svch0st.exe”这样替换了系统进程的某些容易混淆的字母的进程,非常可疑。(好吧实际上几乎一定有问题)
6.“System.exe”“SystemIdleProcess.exe”(注意比正常进程多了exe) ,非常可疑。
7.没有打开任何文件夹,干净的桌面,打开任务管理器,有多于一个的explorer.exe,可疑。
8.没有打开任何浏览器,却出现了iexplore.exe(通常不会出现其它的浏览器的进程) ,相当可疑。
9.System Idel Process的PID一定是0,System貌似根据系统版本会不同,但是应该不超过10。


更多内容

1.关于服务

svchost.exe是Windows的服务宿主程序,通过它加载各种模块来运行系统中的一些服务。因为同时运行的数量很多,很多时候并不好辨别。Win7下新增了“服务”选项卡,可以更方便的把每一个svchost.exe和它所加载的服务对应起来。对照两个选项卡的“PID”列,或者右键菜单中的“转到进程/转到服务”,可以很方便的确认。

有时候会出现某个svchost.exe占用大量内存或CPU的情况,可以利用这个方法和其对应的服务关联起来,然后再根据服务的关键程度决定是否结束任务/停止服务。

关于Windows里服务的更多内容,再这里就不做太多探讨了,有兴趣的可以自己百度一下。掌控了“服务”和“进程”,就基本掌控了系统当前的运行状态。

2.进程和模块

到了进程这一地步还远没有结束。每个进程都会根据自己的需要加载很多模块。有的是系统的,有的是自己的,还有的是其他进程强行插入的。比如杀毒软件就会在几乎每个进程里面插入自己的模块。很多木马病毒也通过插入的方式,使自己没有进程地运行。而任务管理器看不到这一个层面,需要更高级的工具才能看到这些地方是否存在隐患。

当然,只要有一个好的杀毒软件,这些都不用你过多的考虑。

3.进程优先级、进程树、设置相关性等

优先级决定了一个进程在调用系统资源上的优先度,优先级越高,系统越重视。在系统资源很吃紧的时候,一个高优先级的程序也是可以尽可能流畅地运行的。任务管理器的优先级就是“高”,大部分情况下,在其他程序繁忙到挂掉的时候,在任务管理器里也可以比较流畅地操作,来结束这些出问题的程序。

进程的启动并不是凭空的。一般都是由一个进程来启动另一个进程。这样的关系会形成一个树。任务管理器里并不能直观地看到这个关系,但是它可以“结束进程树”……对着“explorer.exe”结束进程树,基本上所有系统启动后你打开的程序都会跟着关掉。

设置相关性点开,可以设置该进程在哪一个CPU核心上运行(当然是针对多核或超线程处理器的)。偶尔有用,比如某些只支持单核的老游戏老程序。但是不建议乱用,不要擅自把某些占用高的程序单独划到某个核心上运行,让系统来调配CPU资源往往是更好的选择。

以上这些内容通常是用不到的,想要了解的可以去查找相关的资料。这些都属于系统的进程管理的范畴。


好了,基本上就这些内容了。

其实任务管理器只是提供了一个窗口,而且面对威胁(呃,信安职业病了),它往往是个简单而不牢靠的窗口。当然,对于一个安全可靠的系统来说,这就已经足够了。