我正在 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)
。
您是否分配了太大的数据(数组等)?