V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jackmod
V2EX  ›  Windows

一个被持续洗稿的所谓内存清理的单行 vbs

  •  
  •   jackmod · 12 天前 · 1342 次点击

    因为某种奇怪的原因突然想起了各路优化大师的内存清理,就去搜索如何手动做到这一点,于是发现了这个。

    FreeMem = Space(100000000)
    Mystring = (80000000)
    

    此谣言出现在许多 Windows 优化的洗稿文章里。

    很多人觉得有帮助

    有一般用户相信了,结果更迷茫了

    不过有人解释了这东西是哪来的。

    各方信息总结一下。此物源于 Win9x(DOS)的内存管理机制,申请新的内存可以触发垃圾回收,也仅此而已,不会对性能有多少帮助。在 WinNT 上执行只会让 pagefile 变得更大罢了。

    最后,我找到的有理有据的手动清理,就是这个这个以及其他类似的代码了。

    6 条回复    2024-05-07 21:56:25 +08:00
    codehz
        1
    codehz  
       12 天前
    清理内存最有效的就是杀进程,其他的只是干扰内存管理的运作
    augustheart
        2
    augustheart  
       12 天前
    这个东西在 9x 还在普遍使用的年代就已经被人指出没有任何用处
    作用是申请一块(对当时而言)“超大”的内存,然后系统会将部分数据写入到虚拟内存中,从而使任务管理器里面内存一项看起来更好看而已
    ouqihang
        3
    ouqihang  
       12 天前 via Android
    iOS 的内存清理 APP 也差不多原理。
    msg7086
        4
    msg7086  
       12 天前
    怎么 DOS 都出来了。DOS 的内存管理是什么样的你知道吗。
    Win9x 上也一样是把数据交换到 swap 里去,和 NT 上交换到 pagefile 里是一样的。

    这个你说他错嘛,其实也没错,他这个就是物理内存清理,把数据从物理内存里清到分页文件里去。
    物理内存清理确实也是一种内存清理,只不过物理内存清理是没有用的而已。
    CivAx
        5
    CivAx  
       12 天前
    感兴趣的话可以看这个,https://github.com/IgorMundstein/WinMemoryCleaner
    ysc3839
        6
    ysc3839  
       11 天前
    @CivAx 这个和多年前网上就有的内存清理工具原理一样,都是 EmptyWorkingSet ,只是把内存中的数据转移到页面文件上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2145 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.