Board logo

标题: 软件或系统原因造成的内存溢出的一个终极解决方法 [打印本页]

作者: 杀手在线    时间: 2007-2-14 22:38     标题: 软件或系统原因造成的内存溢出的一个终极解决方法

内存溢出的报警问题,我这两天找系统,泡深度论坛,在那儿发现一个极佳的终极解决方案。比清除purepage(就是流传甚广的sfc命令加一个开关符的那个)里面的文件还要来得彻底和干净!这不仅适用于TW,几乎适用于所有程序。原文作者是深度的资深版主,看文章非常牛逼,比如很多我们之前的一些流传甚广的系统优化的误区,最著名的可能就是那个什么Qos占20%的带宽的玩意,那是假的,再比如说,正确关闭windows time服务(估计没几个个人用户需要和微软去校对标准时,^_^)的方法,不是一个简单的禁用就行了的,你双击时间那儿照样给你打开为自动。

关于这个内存报错的老大难问题,他的原文比较长,在排除内存条或其他硬件问题之后,系统方面,他的分析相当精准和细致,大的方面有这几条:一、应用程序没有检查内存分配失败 ;二、应用程序由于自身BUG引用了不正常的内存光标 ;尤其是对于Win XP的「预读取」技术的分析,该文作者写得很好:“这种最佳化技术也被用到了应用软件上,系统对每一个应用软件的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟「内存映像」,并把这些信息储存到WINDOWSPREFETCH数据夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。”………………等等的。


最厉害的方法,是他在微软新闻组上得到的一种思路(btw:新闻组在国外流行日久,估计现在的网友好多还不知道这是个啥玩意,不知道除了http://FTP://等等这些之外,还有个modem时代常用的[url=news://]news://[/url]吧?呵呵,简单说,新闻组就是窄带时代的一个特殊应用,你可以把它看成一个BBS,只是这个BBS是用OE来看的,用邮件形式来发布和下载的,可以离线浏览并发帖回帖,然后向邮件一样上线集中发出去和下载下来。这在那个没包月以时计费不能挂机的年代,是很多人的挚爱。早期上网的很多都是IT专业的技术人员,其中微软新闻组更是集中了国外的系统和编程方面的高手。国外的软件工程师们使用新闻组的很多,国内因为发展很快,后发优势,互联网没几年就进入宽带包月时代,于是几乎都是上BBS的了。比如我,现在根本就不装OE了,装了系统就卸载了OE,邮件再也不用离线收发,顺便还可以彻底防御一些通过OE漏洞传播的病毒,嘿嘿)


该大侠提供的解决方案如下:
微软新闻组的朋友指点:开始--运行:regsvr32 jscript.dll
开始--运行:regsvr32 vbscript.dll
不过没解决---但提供了路子-----一次运行注册所有dll

搜索查找到方法如下:

运行 输入cmd 回车在命令提示符下输入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
这个命令老兄你慢慢输 输入正确的话会看到飞快地滚屏 否则……否则失败就是没这效果。回车后再慢慢等(需要点时间1-2分钟) 都运行完再打开看
------------------------------------------
后来我试了几遍,确实是终极性的解决方案(仅指的软件系统啊,硬件问题或硬件驱动匹配的问题不在此列)这么重新注册定位应用程序的内存地址之后,再没发现内存不能read之类的错误了。千千万万注意,即便是滚屏结束了,也不要动,再等几分钟(时间长短视乎你的整个系统配置),重新注册的dll们还正在各自找在内存或虚拟内存中分配的地址呢!一定要等硬盘灯彻底不闪烁了,正常了,再进行其他操作。


还有,如果怕输入错了,可以复制粘贴。what?命令行窗口复制粘贴?对,没错!点击cmd命令行窗口左上角的c:\,使用下面的“编辑”项下的“粘贴”命令,这是命令行窗口的鼠标操作的一个小技法。。。

作者: rebirth    时间: 2007-2-15 09:01

这是个不错的方法,掸子大人以前说过,再温习一遍

不过提醒一下:for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
命令还是慎用为妙,重新注册所有dll文件会使系统变慢。^_^

况且用了未必就能解决,欲练此功,必先自宫;就算自宫,未必成功;其实成功,未必自宫
作者: 杀手在线    时间: 2007-2-15 14:40

嗯,确实是会变慢,因为原文中说了————“系统会对每一个应用软件的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟「内存映像」,并把这些信息储存到WINDOWSPREFETCH数据夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息”。。。重新注册后,这些之前的优化过的预读取设置等于是全部“归零”了。这就看各位的取舍了,是牺牲一段时间的效率换来稳定,还是反之了:)




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn./) Powered by Discuz! 7.2