由于交换空间过低,进程被终止

由于交换空间过低,进程被终止

我正在 mac osx yosemite 上运行 python (2.7) 脚本。

该脚本的计算量相当大,肯定会超出我机器的 RAM 限制。执行脚本的过程中,计算机崩溃并重新启动。系统日志中包含的/var/log/system.log消息表明这是由于交换空间不足造成的。

kernel[0]: low swap: killing pid 1246 (mdworker) ...(针对不同 mdworker 进程的更多此类消息)

kernel[0]: low swap: unable to find any eligible processes to take action on ...(在坠机前的一个小时内,它说了几十次)

kernel[0]: low swap: killing pid 1711 (mdworker)

我怎样才能防止这种崩溃?

答案1

我认为,如果您不更改执行程序(mdworker)的操作系统或计算机(与内存相关),则无法防止这种崩溃。

实际上,可分配内存等于RAM+(SWAP SPACE),但我猜想您的程序 mdworker 超出了限制(RAM+SWAP SPACE)

您是否分配了太大的数据(数组等)?

相关内容