TA的每日心情 | 奋斗 昨天 11:21 |
---|
签到天数: 2393 天 [LV.Master]伴坛终老
|
也许当你看到“内存整理”四个大字时心里面就开始说:“内存整理,哼!不过是一个骗局罢了!”不过当你看完这篇文章时,这个想法也许就开始动摇了。
* `: N. u4 u8 h. f/ d" x有人说:“内存整理,越整越慢!”的确,因为一般的内存整理软件只是简单地在重复调用SetProcessWorkingSetSize函数。3 \1 Y$ V4 m( z3 T; d6 r/ Z" k8 \. D
( ?6 i7 z; Y+ f, R0 g; [
“MSDN 对该函数的表述(翻译):使用这个函数来设置应用程序最小和最大的运行空间,只会保留需要的内存.当应用程序被闲置或系统内存太低时,操作系统会自动调用 这个机制来设置应用程序的内存.应用程序也可以使用 VirtualLock 来锁住一定范围的内存不被系统释放;当你加大运行空间给应用程序,你能够得到的物理内存取决于系统,这会造成其他应用程序降低性能或系统总体降低性能,这 也可能导致请求物理内存的操作失败,例如:建立进程,线程,内核池,就必须小心的使用该函数. 也就是说,该函数不是节省内存,而是强制把进程的物理内存搬到虚拟内存中.
( T/ |* c3 P9 R& N6 |. f+ u8 G- z7 z
那么Minmem是不是也是如此呢?我们来看两个截图。
8 j: P" T: }) u7 R8 I
; p' F8 B8 O3 |+ |这是在未开启Minmem时我电脑里firefox 3.03在后台的物理内存及虚拟内存占用情况:
4 U& B2 p, z# i* J0 ^% h6 V* ?0 z7 {' f5 f/ y5 `" p
1 F7 @9 y! h- Q- T% Y/ [5 K
) y: ~, W3 s/ z
这是开启Minmem时Firefox 3.03在后台的物理内存及虚拟内存占用情况:7 A& I" O) d! A+ v$ a; V
8 s& c# G' a" l7 ], @1 u( f
; k; d; V( N: n5 {* T
+ [- K3 L( |+ Q1 K8 \$ a两张图上Firefox的虚拟内存始终在86,000K(即83M)左右 ,而物理内存竟然从40,000(39M)左右,释放到了9,000K(即8M)左右!' o% Y& L1 O# s+ a" `0 c; m; c( r! _
既然虚拟内存没有增大,那是不是就是说该软件没有调用SetProcessWorkingSetSize函数呢?0 Y9 N" H9 g2 W' \6 e; A, q
! z+ c; @5 j( ]1 P& P( A, G1 W
Cushysoft为此专门向作者 Kerkia发送了一封电子邮件询问他是怎么实现的,Kerkia说,他的确调用了这个函数,因为要想消减内存这是唯一的途径。然而,并不是这样简单。Minmem使用了一种叫做polling engine(投票引擎!?),polling engine会监视程序优化时进程自身对内存降低增高所做出的反应并选择有效的优化方式进行调整,并不像一般内存整理程序那样只是将物理内存放到虚拟内存 中。Minmem并不是直接将内存占用消减至最低,而是在需要时是内存使用量减少至最合理!这便是Minmem与其它一般内存整理软件的不同之处。& Z/ N3 H; J/ b, T" n
! V: v1 {* r# j2 g V. FMinimem的作者起初是为了解决Firefox2的内存泄露问题而开发了这个软件,后来Firefox3的发布虽然解决了2版的大量Bug和内存问 题,不过3的内存问题仍然不容乐观。于是Minimem经过4次更新,不仅逐步完善,更是提供了对其它软件的内存整理。软件十分小巧,安装文件仅仅只有 390K。3 x5 U3 b* O" S- M I
虽然现在还没有中文版,但如此简单的界面实际上也无需进行汉化。上图:
8 Z! M- a( t' }. |
* l) S- f( a/ }+ x; p- v6 ~6 p0 x# o5 P6 L7 ^5 m& J( Z) s
3 M* t% q! ~; V" d
●左上方绿色方框内是优化的进程项,右上方绿色方框内是所有进程项。在右边左键单击你想要优化的进程,再点击“<”,使其进入优化进程项,然后选中即可。不想优化的话就把“√”去掉,再点击“Clear unchecked items”就好了。8 Y) y+ I5 d/ M: T
●所有进程项可以选择隐藏小于5000K至100,000K的进程,图上红色区域内选择了20,000K,就是说内存占用小于20,000K的进程将不会被显示出来,当然你也可以不勾选此项以看见所有进程项。 h/ c& h; E7 O0 x" u- B+ [- ~& }
●图上黄色方框第一项:不优化前台进程(建议勾选,因为前台程序即为在使用中的程序,优化后会影响程序速度;后台程序,即最小化等在后台运行的程序,可以 放心优化);第二项:可用内存若大于300K(这是官方截图的显示,我这里显示的是300M。数值大小同样可自行设置,我这里内存为1G,选择了 300M)则不优化。
. |; F }) N$ K a2 p. Q3 N●还有一项就是“Optimize memory every 30 s ”项,意思是每三十秒优化一次。其实我发现不只30s,程序似乎能自动感知。+ V4 a2 G+ a, J0 m9 D* \
●设置完毕,点击“Apply”应用,再点击“OK”程序会自动隐藏在系统托盘,然后它就开始为你工作了!0 y/ Y. |$ w4 e/ a& p+ o6 G1 g: K A" t
●要关闭,右键托盘图标“Shut down Minmem”就行了。 X5 F& T# u6 G% H* f6 ?
●你可以在托盘里右键点击Minmem选择“Start with windows”,这样Minmem就可以随计算机启动。
) D8 J% ?9 y1 r- H5 D; j1 G- n3 O: }" N( O; c n0 B: q+ D5 F2 k* `
注意:不建议优化杀毒软件等系统安全软件,小心把它们惹毛了。 e) w3 z! |8 N& F
" X# ?& `; w: w( C% t v9 N1 f软件理论上支持所有Windows版本,但作者只在SP3上面测试过,Cushysoft在同学的Vista SP1上面测试,也通过了: q& ?, U0 R' d( b
; n: D8 W5 X4 _4 y
虽说内存早都白菜价了,现在的电脑配置2G、3G的一个彪过一个,但要晓得越来越多的程序员在编写程序时也考虑得和你一样,所以他们正在无形之中使 你的内存越来越吃紧,更何况我舍不得花银子再升级内存了(我XP系统,平时也不玩游戏,1G足够了)!所以,不管你是大内存用户也好,老机用户也罢,合理 的分配机子的内存才是硬道理!) _ g% Y! h) P, J
3 |& w* O, Z" t y下载:官方下载7 L( _0 r# ^$ R* y) F5 j% e# Z, O
需.NET framework 2.0支持,没有的话在此下载。对了,100%免费!如果你喜欢这款软件,也可以对作者进行捐赠。
4 _: o: @# o0 s6 h7 f. `( d4 `
l$ Q! S9 n* p& @' _* E$ {0 g, D本文章原创作者为Cushysoft,转载请署名! |
|