-1

http://www.pcwintech.com/about-cleanmem

  • 有人用过这个工具吗?
  • 使用简单的 C 程序执行 malloc,然后在 Windows 上永远休眠,如果运行 cleanmem,我可以看到内存下降。

问题:

  • 这个工具是否通过将进程内存移动到系统缓存来产生错觉?(如使用 windows api)
  • 如果在使用 C 时是这种情况,每个人都会更喜欢运行 cleanmem,而不是 free(我不同意这一点,'mem leak is mem leak',除非你调用 free)
  • linux有没有类似的工具?
4

1 回答 1

2

这个程序实际上并没有做任何事情。作者只知道足够危险,但并不真正知道内存在 Windows 中是如何工作的。这可能是您链接的页面上我最喜欢的一行:

警告:Windows 中的内存术语完全搞砸了。系统缓存可能意味着其他东西,也许内存缓存更好?作为 Windows 中内存标记的这种令人困惑的方式的证明,在 Windows XP 中,任务管理器中的 PF 使用实际上是提交费用,而不是页面文件使用

如果你真的可以阻止 Windows 写入页面文件,那么你所能做的就是让程序耗尽内存并崩溃。

这条线也很搞笑:

CleanMem 不会让您的系统更快。CleanMem 所做的再次是帮助避免使用硬盘驱动器上的页面文件,而这正是您减慢速度的原因。包括我自己在内的一些用户已经注意到系统更流畅。也许是安慰剂效应?谁知道。我确实知道 CleanMem 没有任何伤害,并且在一定程度上确实有所帮助。

编辑

多一个:

I think I should also clarify, I am no memory expert.

于 2013-01-14T20:05:34.603 回答