windows7上的简单循环会造成内存泄漏吗?

时间:2012-07-02 22:53:05

标签: windows-7 memory-leaks batch-file 64-bit 32-bit

我对此不确定,但此问题可能与Memory leak in batch for loop?有关。

我有以下简单的批处理脚本:

@echo off
:label
cmd.exe /c cls
echo hello
goto label

当此脚本在Windows7 32位安装上运行时,它表现良好。但是当我在我可以访问的几台Windows7 64位计算机上运行它时,它慢慢地显然不可挽回地占用了所有系统内存 - 正如Windows任务管理器中所见。关闭执行上述批次行的窗口后,内存保持使用状态。

这是否发生在其他人身上?如果没有,你知道是什么原因引起的吗?系统上其他已安装的软件?

如果我做了

,我会有同样的行为
while True: os.system('cls')

在Python-X / Y shell中循环。它似乎与创建子流程有关。如果我将上述内容从cmd.exe /c cls更改为cls,我就不会出现内存泄漏问题。我遇到了这个问题,因为我从Linux移植了一个Python脚本,它反复为显示的统计信息显示屏幕,如Clear the screen in python所示。

1 个答案:

答案 0 :(得分:0)

我在我的x64机器上运行它并且工作正常,随着时间的推移它确实开始变得困难但是我不会把它称为内存泄漏,如果有任何东西它只会在CPU激活时锤击CPU。

根据计算机的性能,它可能正在努力跟上命令。我在timeout中添加了一秒钟,现在cmd更加快乐,显示内存消耗不到1MB。

尝试根据您的需要调整它,或者找到获得速度和性能的中间位置,只需给cmd一个休息时间:)

@echo off
:label
cmd.exe /c cls
echo hello
timeout /t 1 >nul
goto label