我经常看到“加速你的电脑”程序提供RAM清理功能。
他们声称碎片整理并释放未使用的内存,就像垃圾收集器一样......不确定。
以下是一些例子:
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 :(得分:3)
我不知道这些特定程序是如何工作的,但在过去我看到了类似程序的来源。
它基本上一次性分配了大量的RAM,然后将其释放。
系统RAM被“释放”,因为其他程序必须交换到磁盘。
答案 1 :(得分:3)
如果您真的坚持这样做,您可以枚举流程,打开每个流程的句柄,并为每个流程调用SetProcessWorkingSetSize(process_handle, -1, -1);
(但您真的不想这样做)