【问题标题】:ram memory consumed after program exit程序退出后消耗的内存
【发布时间】:2018-05-07 19:00:25
【问题描述】:

我在 linux 终端上运行一个 python 脚本。该脚本有一个无限的微积分循环,它永远不会结束,所以现在我用 ctrl+C 停止它。之后,程序消耗的所有ram内存(很多,我还没有发现泄漏)仍然被消耗,直到我关闭终端的那一刻。会发生什么?

【问题讨论】:

  • 它是否产生任何子进程?哪个程序被识别为拥有该内存?
  • 请发布最小可验证完整示例:stackoverflow.com/help/mcve

标签: python memory memory-management memory-leaks terminal


【解决方案1】:

我建议使用以下组合: How do I capture SIGINT in Python?How can I explicitly free memory in Python?

#!/usr/bin/env python
import signal
import sys
import gc
def signal_handler(signal, frame):
        print('Cleaning up...')
        gc.collect()
        print('Bye.')
        sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
signal.pause()

【讨论】:

    【解决方案2】:

    这可能是一个无限循环或只是一些花费了太多时间的计算,为了完整起见,你能发布你的代码吗?

    【讨论】:

      猜你喜欢
      • 2014-06-25
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多