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

Fro*_*Zzz 2 python macos terminal memory-leaks

我刚刚在Mac OS终端上运行了一个python程序,并且存在异常的内存泄漏.

程序很简单,如下所示:

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

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

有没有人有类似的经历?

mat*_*tte 14

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


zne*_*eak 5

泄漏内存不是Python.仔细看看.在我的机器上,Python进程保持在一个安静,稳定的3.5 MB内存中.

您看到的内存使用量增量很可能是由于终端没有丢弃输出.您可以将此行为更改为"首选项","设置",并将最大行数设置为"无限制"以外的其他行.