🚴
さくらVPSでコンパイル中にKillされる。
事象
さくらVPSで1GByteのUbuntuでPythonのTA-Libをpip3でインストールするのを横で見ていた時に、
(省略...)
x86_64-linux-gnu-gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for TA_Lib
というエラーに遭遇した。
UbuntuへのTa-Libインストールはこんな感じにやってた。
公式はここ
推察
なかなかLinuxでコンパイルでkillされることはない気がします。
メモリがなくなってもSwapファイルを作って頑張ってくれる印象なので。
メモリ不足かなと疑いターミナルをもう一つ立ち上げてメモリ監視のためtopコマンドを実行しつつ別のターミナルでコンパイルをかけてると、メモリが48Mbyteに減ったところでswapサイズが0Byteで落ちている。
原因はきっとメモリ不足。
topコマンドについて
さくらVPSがメモリ不足でkillされる時の対処法を2つ
1.OSの設定でswapファイルを作成する
初期設定ではswapファイルが作成されないらしい。
(デフォルトの設定が不思議な気がするけど、運営から見てVPSでSwapファイルをデフォルトでは使って欲しくないのかな。メモリが不足してると認識して欲しい的な?)
2.さくらVPSをメモリの大きい上のランクにアップグレードする。
とりあえずは上記ですが、別の手段として、上記で遅い場合やSwapファイルを使いたくない場合は、Vps自体をスケールアップもできます。
移行によるスケールアップもできるらしいですが、やったことはないですねぇ💦(スケールアップについて書いてると広告っぽい印象だけど、PR記事や広告ではありません。)
Discussion