真正的内存优化软件 - Minmem1.2.2

  • 主题发起人 主题发起人 guest
  • 开始时间 开始时间

guest

Moderator
管理成员
注册
2002-10-07
消息
402,570
荣誉分数
76
声望点数
228
感谢Cushysoft的投递
也许当你看到“内存整理”四个大字时心里面就开始说:“内存整理,哼!不过是一个骗局罢了!”不过当你看完这篇文章时,这个想法也许就开始动摇了。
有人说:“内存整理,越整越慢!”的确,因为一般的内存整理软件只是简单地在重复调用SetProcessWorkingSetSize函数。



“MSDN 对该函数的表述(翻译):使用这个函数来设置应用程序最小和最大的运行空间,只会保留需要的内存.当应用程序被闲置或系统内存太低时,操作系统会自动调用 这个机制来设置应用程序的内存.应用程序也可以使用 VirtualLock 来锁住一定范围的内存不被系统释放;当你加大运行空间给应用程序,你能够得到的物理内存取决于系统,这会造成其他应用程序降低性能或系统总体降低性能,这 也可能导致请求物理内存的操作失败,例如:建立进程,线程,内核池,就必须小心的使用该函数. 也就是说,该函数不是节省内存,而是强制把进程的物理内存搬到虚拟内存中.

那么Minmem是不是也是如此呢?我们来看两个截图。

这是在未开启Minmem时我电脑里firefox 3.03在后台的物理内存及虚拟内存占用情况:

2921698544_8483bbcfed_o.png


这是开启Minmem时Firefox 3.03在后台的物理内存及虚拟内存占用情况:

2921698538_a6845f0e8d_o.png


两张图上Firefox的虚拟内存始终在86,000K(即83M)左右 ,而物理内存竟然从40,000(39M)左右,释放到了9,000K(即8M)左右!
既然虚拟内存没有增大,那是不是就是说该软件没有调用SetProcessWorkingSetSize函数呢?

Cushysoft为此专门向作者 Kerkia发送了一封电子邮件询问他是怎么实现的,Kerkia说,他的确调用了这个函数,因为要想消减内存这是唯一的途径。然而,并不是这样简单。Minmem使用了一种叫做polling engine(投票引擎!?),polling engine会监视程序优化时进程自身对内存降低增高所做出的反应并选择有效的优化方式进行调整,并不像一般内存整理程序那样只是将物理内存放到虚拟内存 中。Minmem并不是直接将内存占用消减至最低,而是在需要时是内存使用量减少至最合理!这便是Minmem与其它一般内存整理软件的不同之处。

Minimem的作者起初是为了解决Firefox2的内存泄露问题而开发了这个软件,后来Firefox3的发布虽然解决了2版的大量Bug和内存问 题,不过3的内存问题仍然不容乐观。于是Minimem经过4次更新,不仅逐步完善,更是提供了对其它软件的内存整理。软件十分小巧,安装文件仅仅只有 390K。
虽然现在还没有中文版,但如此简单的界面实际上也无需进行汉化。上图:

2921698548_84aa9f4243_o.jpg


●左上方绿色方框内是优化的进程项,右上方绿色方框内是所有进程项。在右边左键单击你想要优化的进程,再点击“
 
后退
顶部
首页 论坛
消息
我的