如何找到Python脚本被杀死的原因?

Sha*_*nam 4 python bash

我有大约 100 万个文件(它们是输出模拟输出)。我想将它们的特定信息存储在一个文件中。我有一个 1M 的 for 循环。我放置了一个计数器来跟踪 for 循环的状态。它会killed在 875000 和 900000 之间。我认为这可能是空间问题。当我运行df -h或 时df /,我有大约 68G 可用。Python 脚本可能被杀死的其他可能原因是什么?我怎样才能更多地探索它?

Gui*_*ume 10

在 Linux 系统上,检查dmesg. 如果进程被内核杀死,它会在那里有一个解释。最可能的原因:内存不足或文件描述符不足。


Viv*_*dey 6

通常,killed当程序耗尽 RAM(而不是您拥有大量硬盘)时,您会收到消息。您应该密切注意主存储器​​。运行 top 并查看程序占用的内存,或者使用 guppy ( https://pypi.python.org/pypi/guppy/ ) 之类的工具以编程方式跟踪内存利用率。

我会猜测您在处理文件时正在创建一些大内存数据结构,可能不会在您遍历文件时取消分配它们。