2012-06-21 30 views
0

每隔一段时间我都会看到提供内存清理功能的“加速您的电脑”程序。清理RAM(也许win32 API)?

他们声称碎片整理和释放未使用的内存,如垃圾回收器或其他...不知道。

下面是一些例子:

http://www.softpedia.com/get/Tweak/Memory-Tweak/Clean-Ram.shtml

http://download.cnet.com/Instant-Memory-Cleaner/3000-2086_4-10571833.html

http://www.uniblue.com/software/speedupmypc/

我感兴趣的学习Win32的C API是,他们使用的,如果任何人有知识。

我听说过关于advapi32.dll技巧中的ProcessIdleTasks(),但看起来不太合理,看看该函数的文档。

+0

如果你想清理你的RAM,只需重新启动计算机,并向正在进行泄漏处理的公司投诉。对RAM的小优化不应该在性能上造成太大的差别,但它可能是一个好项目。 – chris

+0

感谢分享 – y2k

+10

分配一大块内存,几乎和RAM一样大,提交(触摸)它,释放它。享受你的空虚记忆,以及所有其他计划如何努力从交换中恢复记忆。 –

回答

3

如果你真的坚持这样做,你可以枚举进程,打开每个句柄,并且每个调用SetProcessWorkingSetSize(process_handle, -1, -1);(但你真的不想这样做)。

+0

给了你,因为它提供了一个win32 api来完成所要求的事情(尽管no1 shud) – y2k

3

我不知道这些特定的程序是如何工作的,但是在过去我看到了类似程序的来源。

它基本上分配了一吨RAM,然后释放它。

系统RAM被“释放”,因为其他程序必须交换到磁盘。

+0

真的很脏的解决方案。 :) – Naszta

+0

@Naszta:然而,可能是唯一的一个。我不得不面对不断的交换,这并不好玩。那时我的RAM翻了四倍。 – Linuxios