用微软自己开发的Empty.exe安全释放空闲内存(原创)_Win2050.Com 博客天...

来源:百度文库 编辑:神马文学网 时间:2024/04/30 03:07:32
用微软自己开发的Empty.exe安全释放空闲内存(原创)2006年12月17日 星期日 00:26

微软的Empty.exe可以用来释放某些应用程序在占用大量内存时不能及时释放的那部分资源,与那些第三方软件内存管理软件不同的是,Empty.exe不会强迫系统全部释放资源,而是仅仅释放必要的资源,这样就不会加重硬盘的负担了。
Empty.exe的使用相当简单,命令格式如下:
Empty.exe {pid(进程ID) | task-name(映象名称)}
大家可以编写一个批处理,比如批处理名称为内存清理.bat,再将它和Empty.exe放在同一个文件夹,或者直接把Empty.exe直接放在系统盘:\Windows\System32下也可以(建议大家直接放在System32下,因为放在这个下面,可以直接在命令窗口调用这个命令,一般系统System32下是默认缓存路径之类的,只要是System32文件夹下面的程序,都可以直接在命令窗口中调用)。需要说明的是,Empty.exe在Win2003和XP中使用,Win2000中就无缘使用了。

Empty.exe下载  可以直接在我的网络硬盘下载,登陆密码是741。在目录列表中的系统优化底下有一个Empty.exe就是微软自己开发用来释放内存的。

内存释放.exe下载  在目录列表中的系统优化底下有一个内存释放.exe,结合底下的这个批处理一起使用,效果更明显。(建议大家把这个程序直接放在System32下,因为放在这个下面,可以直接在命令窗口调用这个命令,一般系统System32下是默认缓存路径之类的,只要是System32文件夹下面的程序,都可以直接在命令窗口中调用)。


可以把自己任务管理器中的列表的进程名都加入到内存清理这个批处理中来。

@Echo ====================内存开始释放====================

@Rem @主要是用来隐藏所执行的程序,不让它在命令窗口显示执行的程序内容

@Rem  释放.Net空闲内存 
@Empty.exe Devenv.exe 

@Rem  释放QQ空闲内存
@Empty.exe QQ.exe

@Rem  释放SQL管理的空闲内存   
@Empty.exe Sqlmangr.exe

@Rem  释放SQl的空闲内存
@Empty.exe SqlServr.exe

@Rem  释放查询分析器的空闲内存
@Empty.exe isqlw.exe

@Rem  释放MyIE的空闲内存
@Empty.exe MYIE.exe

@Rem  释放共享神盾的空闲内存
@Empty.exe ssgui.exe

@Rem  释放酷狗的空闲内存
@Empty.exe KuGoo.exe

@Rem  释放腾讯TT的空闲内存
@Empty.exe TTraveler.exe

@Rem  释放网络电视播放PPStream的空闲内存
@Empty.exe ppstream.exe

@Rem  释放系统常见的空闲内存
@Empty.exe ati2evxx.exe
@Empty.exe conime.exe
@Empty.exe csrss.exe
@Empty.exe dfssvc.exe
@Empty.exe explorer.exe
@Empty.exe inetinfo.exe
@Empty.exe lsass.exe
@Empty.exe mdm.exe
@Empty.exe mssearch.exe
@Empty.exe notepad.exe
@Empty.exe services.exe
@Empty.exe smss.exe
@Empty.exe spoolsv.exe
@Empty.exe svchost.exe
@Empty.exe taskmgr.exe
@Empty.exe winasse.exe
@Empty.exe winlogon.exe
@Empty.exe wmiprvse.exe
@Empty.exe rfwmain.exe
@Empty.exe rfwsrv.exe

@Rem 看之前有没有把===内存释放.exe===这个程序放在System32文件夹下,如果有的话,就可以直接把这个===内存释放.exe===写出来。
@Rem 如果没有的话,就要写出===内存释放.exe===的绝对路径。
@Rem 如下所示(本人已经把===内存释放.exe===放在System32文件夹下面):
@内存释放.exe  

@echo ====================内存释放结束====================

可以把上面的内存开始释放开始到内存释放结束这段代码复制下来,把它放在记事本中,然后把记事本的后缀改作批处理的后缀bat格式。(批处理名称任意,只要符合文件名称即可)或者可以根据自己系统中的进程列表的所有进程名都放在内存开始释放至内存释放结束中间。(有的人会说如QQ这个进程,我已经把它放在这个批处理中,但还没开QQ,会不会有什么问题呢?答案是不会的,它批处理执行的速度是很快的,它也只是提示找不到这个进程名,就像在命令窗口中乱输几个字,只是提示输错等之类的。批处理在执行的话,有提示错误信息也是闪一下就跳过,不会对系统产生影响。)

即然这个批处理已经建好了,肯定不能让我们手动每隔一段时间去运行它。那样的话,就不够智能化了。这样就需要系统自带的任务计划:
开始-->设置-->控制面板-->任务计划-->添加任务计划-->下一步-->浏览(选择刚才创建的批处理文件)-->先为任务名命名(如命名为内存清理)-->执行这个任务(选择每天)-->下一步-->下一步-->它会提示要输入用户名密码(把登陆密码输两次即可)-->下一步-->选中(在单击"完成"时,打开此任务的高级属性)-->完成-->选择计划这个选项卡-->开始时间可以设置为8:00-->高级-->选中(重复任复)-->可以设置每10分钟,直到选择持续时间10小时0分钟(一般公司都是早上8点上班,晚上六点下班正好10个小时,就是直接设置开始时间为8点,持续时间10个小时。间隔每十分钟执行选中的批处理,这样就不用人为的去运行)-->确定-->确定即可。(一般创建的任务计划都是放在C:\Windows\Tasks文件夹下面,任务计划的后缀名为job)

(说明:单个进程的内存会被释放掉,使用后总内存的提示不会改变,但你重新用计算器把每个进程的内存使用多少加一下,就比总内存的提示少很多,速度也会快很多。)

添加任务计划的有关图片:






  让它每十分钟运行调用已经建好的批处理(如内存清理)的话,都会跳出一个黑色窗体一闪,如果要让它不闪的话,可以直接用系统自带的VBS脚本调用已经建好的批处理(如内存清理)。VBS调用批处理的格式如下: ===============VBS调用批处理开始=============== Set Ws=Wscript.Createobject("Wscript.Shell") Ws.Run "批处理文件路径\批处理文件名称.bat /start",0 ===============VBS调用批处理结束=============== 把上面那两行放在记事本中,根据自己系统的情况改一下批处理的路径和名称,然后把它保存为后缀是VBS的,然后根据上面文章所提的创建任务计划,把这个VBS脚本添加进去,根据自己的要求设置多久运行一次这个VBS脚本。