私は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
...(衝突が起きる1時間前にも数十回言われた)
kernel[0]: low swap: killing pid 1711 (mdworker)
この衝突をどのように防ぐことができますか?
答え1
OSやプログラム(mdworker)を実行するマシン(メモリ関連)を変えなければ、このようなクラッシュを防ぐ方法はないと思います。
実際に割り当て可能なメモリは次のとおりですが、RAM+(SWAP SPACE)
あなたのプログラムmdworkerが制限を超えているようです(RAM+SWAP SPACE)
。
大きすぎるデータ(アレイなど)を割り当てましたか?