Утечка памяти при запуске python в Mac OS Terminal - PullRequest
2 голосов
/ 11 июля 2011

Я только что запустил программу на Python в Mac OS Terminal, и произошла необычная утечка памяти.

Программа проста, как это:

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?

У кого-нибудь есть подобный опыт?

Ответы [ 2 ]

14 голосов
/ 11 июля 2011

Это не ошибка;это на самом деле особенность.Terminal.app, как и многие другие эмуляторы терминала, сохраняет последние результаты в буфере, чтобы вы могли прокрутить назад (с помощью страницы вверх или полосы прокрутки).Вы можете ограничить его размер, перейдя в «Терминал» -> «Настройки» -> «Настройки» и установив для предела прокрутки значение, отличное от Неограниченное.

5 голосов
/ 11 июля 2011

Это не Python, который пропускает память. Присмотрись. На моей машине процесс Python остается тихим, стабильным 3,5 МБ памяти.

Видимый прирост использования памяти, скорее всего, связан с тем, что Терминал никогда не сбрасывает вывод. Вы можете изменить это поведение, выбрав «Предпочтения», «Настройки» и установив максимальное число строк в значение, отличное от «Неограниченно».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...