论文部分内容阅读
进程(Process)是什么
对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。
超大误区:System Idle Process资源占用高?
病毒、木马的特征中有一点就是进程占用系统资源比较高(插入进程式的木马除外),打开“任务管理器”查找资源占用较高的进程也成了很多人每天的“必修课”。非常多的人都会有这样的疑惑,System Idle Process是什么进程?为什么经常占用CPU时间达到95%以上,难道是病毒?其实这是系统的空闲进程,也就是说这个进程的CPU时间越高,就说明现在CPU越闲,一般情况下此进程的CPU时间都应在90%以上。
自动调整优先级模拟“超线程”
超线程(HT)是Intel新款P4 处理器才具有的一项功能,这项技术能显著提高计算机在多任务并行时的处理能力。但大多数人所使用的CPU 并不具备这个功能,并且近期没有升级硬件的打算。最近笔者试用了一款叫做Process Tamer,它能实现与超线程技术类似的功能,即根据程序运行情况自动分配CPU时间。
从http://work.newhua.com/cfan/200517/protm2015.exe下载安装这个软件后,屏幕右下角的系统托盘中就出现了一个天平的图标,这样Process Tamer 就会自动平衡各个进程对CPU 的资源占用,提高多任务间切换的速度。由于Process Tamer的自动调整机制可能造成一些问题,比如在CPU占用率高时自动降低正在进行刻录操作的Nero进程优先级,有可能把盘刻“飞”,所以还需要手动更改一些设置。
第一步:右击系统托盘中的Process Tamer 图标,选择“Configure”(设置),打开配置面板。
第二步:在弹出窗口中切换到“Processes”(进程)标签,在其下方的列表中就显示了当前已经运行的进程(CPU占用低于1%的默认不显示),找到需要更改的进程,本例中我们选择nero.exe,在其“Explicit Rule”(显式规则)列的下拉列表中选择“Ignore”(忽略),点击“确定”。
★在配置界面中去除“Hide<1%CPU”(隐藏CPU 占用<1%的进程)的勾选就能显示所有进程。
★很多文章都把这个软件神话了(包括有些大媒体的文章),其实它的作用只能说是用软件方式改善多任务的使用状况,与真正的基于硬件的超线程技术是有区别的。该程序是运行在应用程序层,而非系统服务层,也就是说软件自身的优先级切换功能也受到系统速度的影响。
多个Svchost进程实属正常
在“任务管理器”中还能同时看到多个Svchost.exe进程,Svchost.exe是NT内核操作系统(Windows 2000/XP/2003都属于NT 内核操作系统)独有的进程,“Svchost”其实就是“Service Host”(服务宿主)的缩写。微软官方对它的定义是:Svchost.exe是从动态链接库(DLL)中运行服务的通用主机进程名称,通俗讲,它就是一个服务装载器。大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。根据系统启动的服务不同,反映在系统进程列表中的Svchost.exe进程数量也是不同的,Windows XP会有四个到六个Svchost.exe进程,而Windows 2000通常则会有两个Svchost.exe进程。
点击“开始→运行”,在运行框中输入“CMD”回车,然后在打开的命令行窗口中输入“Tasklist /svc”(不含引号)命令,可以更直观地看到每个Svchost.exe进程装载的服务名称列表。
拒绝假死!让进程以高优先级运行
如果程序中某项操作占用的资源比较多,就有可能出现假死。比较好的解决方法是手动调高该进程的优先级,打开“任务管理器”,选中运行中程序的进程,右击选择菜单“设置优先级→高于标准”。但CS这类游戏程序,一旦运行后就是全屏,再切换到Windows中调节进程优先级非常不方便,能不能让程序运行时自动设为高优先级呢?
从http://work.newhua.com/cfan/200517/abrun.zip下载abrun.vbs。将代码中的程序路径“D:\Program Files\EmEditor\ emeditor.exe”改为要使用高优先级运行程序的所在路径。要运行该程序时,只需双击运行该脚本即可。
让进程充分享用2颗CPU
超线程、双核,或者有2块CPU,在这种情况下,你应该让进程充分享用2颗CPU(包括超线程模拟的)。在Windows 2000 SP3以上系统中,打开“任务管理器”,在“应用程序”中右击希望设定的已经启动的应用程序,在弹出菜单中选择“转到进程”,在相应进程中点击右键,选“关系设置”,这时在弹出的设置界面中勾选CPU0和CPU1,以确定是用1颗CPU工作还是2颗,最后按“确定”退出。
对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。
超大误区:System Idle Process资源占用高?
病毒、木马的特征中有一点就是进程占用系统资源比较高(插入进程式的木马除外),打开“任务管理器”查找资源占用较高的进程也成了很多人每天的“必修课”。非常多的人都会有这样的疑惑,System Idle Process是什么进程?为什么经常占用CPU时间达到95%以上,难道是病毒?其实这是系统的空闲进程,也就是说这个进程的CPU时间越高,就说明现在CPU越闲,一般情况下此进程的CPU时间都应在90%以上。
自动调整优先级模拟“超线程”
超线程(HT)是Intel新款P4 处理器才具有的一项功能,这项技术能显著提高计算机在多任务并行时的处理能力。但大多数人所使用的CPU 并不具备这个功能,并且近期没有升级硬件的打算。最近笔者试用了一款叫做Process Tamer,它能实现与超线程技术类似的功能,即根据程序运行情况自动分配CPU时间。
从http://work.newhua.com/cfan/200517/protm2015.exe下载安装这个软件后,屏幕右下角的系统托盘中就出现了一个天平的图标,这样Process Tamer 就会自动平衡各个进程对CPU 的资源占用,提高多任务间切换的速度。由于Process Tamer的自动调整机制可能造成一些问题,比如在CPU占用率高时自动降低正在进行刻录操作的Nero进程优先级,有可能把盘刻“飞”,所以还需要手动更改一些设置。
第一步:右击系统托盘中的Process Tamer 图标,选择“Configure”(设置),打开配置面板。
第二步:在弹出窗口中切换到“Processes”(进程)标签,在其下方的列表中就显示了当前已经运行的进程(CPU占用低于1%的默认不显示),找到需要更改的进程,本例中我们选择nero.exe,在其“Explicit Rule”(显式规则)列的下拉列表中选择“Ignore”(忽略),点击“确定”。
★在配置界面中去除“Hide<1%CPU”(隐藏CPU 占用<1%的进程)的勾选就能显示所有进程。
★很多文章都把这个软件神话了(包括有些大媒体的文章),其实它的作用只能说是用软件方式改善多任务的使用状况,与真正的基于硬件的超线程技术是有区别的。该程序是运行在应用程序层,而非系统服务层,也就是说软件自身的优先级切换功能也受到系统速度的影响。
多个Svchost进程实属正常
在“任务管理器”中还能同时看到多个Svchost.exe进程,Svchost.exe是NT内核操作系统(Windows 2000/XP/2003都属于NT 内核操作系统)独有的进程,“Svchost”其实就是“Service Host”(服务宿主)的缩写。微软官方对它的定义是:Svchost.exe是从动态链接库(DLL)中运行服务的通用主机进程名称,通俗讲,它就是一个服务装载器。大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。根据系统启动的服务不同,反映在系统进程列表中的Svchost.exe进程数量也是不同的,Windows XP会有四个到六个Svchost.exe进程,而Windows 2000通常则会有两个Svchost.exe进程。
点击“开始→运行”,在运行框中输入“CMD”回车,然后在打开的命令行窗口中输入“Tasklist /svc”(不含引号)命令,可以更直观地看到每个Svchost.exe进程装载的服务名称列表。
拒绝假死!让进程以高优先级运行
如果程序中某项操作占用的资源比较多,就有可能出现假死。比较好的解决方法是手动调高该进程的优先级,打开“任务管理器”,选中运行中程序的进程,右击选择菜单“设置优先级→高于标准”。但CS这类游戏程序,一旦运行后就是全屏,再切换到Windows中调节进程优先级非常不方便,能不能让程序运行时自动设为高优先级呢?
从http://work.newhua.com/cfan/200517/abrun.zip下载abrun.vbs。将代码中的程序路径“D:\Program Files\EmEditor\ emeditor.exe”改为要使用高优先级运行程序的所在路径。要运行该程序时,只需双击运行该脚本即可。
让进程充分享用2颗CPU
超线程、双核,或者有2块CPU,在这种情况下,你应该让进程充分享用2颗CPU(包括超线程模拟的)。在Windows 2000 SP3以上系统中,打开“任务管理器”,在“应用程序”中右击希望设定的已经启动的应用程序,在弹出菜单中选择“转到进程”,在相应进程中点击右键,选“关系设置”,这时在弹出的设置界面中勾选CPU0和CPU1,以确定是用1颗CPU工作还是2颗,最后按“确定”退出。