这个简单的批处理文件以相对较短的顺序消耗了 Windows 7 (x64) 上的所有可用内存。这是怎么回事?可以采取哪些预防措施来防止它?
any-invalid-command-you-like-here ^
显示效果显然必要的先决条件:
- 插入符号
^
是文件中的最后一件事,并且脚本不会以换行符终止 - 插入符号前面至少有 2 个空格或字符,例如,如果下面的点表示空格,则不会触发内存泄漏
.^
,而这个会..^
(只是慢慢地)
在这个Process Explorer屏幕截图中,脚本已经运行了大约 30 秒,消耗了 2.9GB,并且还在以稳定的速度攀升:
如果您要对此进行试验,请确保您可以访问关闭窗口 [X] 控件,或者启动任务管理器或进程资源管理器并准备就绪,因为Ctrl-C, Ctrl-Break,Alt-F4 没有效果。
似乎多个插入符号会导致内存使用量增加得更快。我第一次遇到这种情况时,1 或 2 分钟内没有足够的内存来做简单Alt-Tab的事情,比如三指敬礼Ctrl-Alt-Del也无效。我不得不硬关闭机器。