繁体   English   中英

在 Mac OS 终端中运行 python 时 Memory 泄漏

[英]Memory leak when running python in Mac OS Terminal

我刚刚在 Mac OS 终端中运行了一个 python 程序,并且出现了异常的 memory 泄漏。

该程序很简单,如下所示:

for i in xrange(1000000000, 2000000000, 10):
  i2 = i * i
  print i, i2, str(i2)[::2]
  if str(i2)[::2] == '1234567890':
    break

当程序运行时,它消耗越来越多的 memory 直到它用完我所有的 memory。 当我终止程序时,我的 Terminal.app 仍然消耗大量 memory,所以我猜这是 Terminal.app 中的错误?

有没有人有类似的经历?

这不是错误; 它实际上是一个功能。 Terminal.app 与许多其他终端仿真器一样,将最近的 output 保存在缓冲区中,以便您可以向后滚动(使用向上翻页或滚动条)。 您可以通过转到终端 -> 首选项 -> 设置并将回滚限制设置为无限制以外的其他值来限制其大小。

泄漏 memory 的不是 Python。 仔细看。 在我的机器上,Python 进程保持安静、稳定的 3.5 MB memory。

您看到的 memory 使用增量很可能是由于终端从未丢弃 output。 您可以在“首选项”、“设置”中更改此行为,并将最大行号设置为“无限制”以外的其他内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM