Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Raspberry Pi等SBCでライブラリのビルドで落ちまくるなら、makeのjob数を減らすとよいかもしれない。

Raspberry Pi系……に限らず、SBCの類ででライブラリのビルドで落ちまくるなら、
makeのjob数を減らすとよいかもしれないというお話です。

実際のところ

みんな大好きRaspberry Piはお手軽ですが、その計算資源はかならずしもリッチじゃあありません。
特にメモリが少ないので、重い処理をしようとするとハングします。
これがUbuntu Mateのような重量級OSの環境構築だった日には目もあてられません。

そんなあなたに、Makeオプション変更のご提案。
makeは"-j"オプション……つまり、平行で動かすジョブ数を指定するオプションがあるのですが
こいつをシェル変数で一括再設定してやれば、重い処理を頑張ってパラでやりメモリ崩壊といった悲劇を防ぐことができる可能性が高いです。

今回のターゲットであるRasPi3b+は4コアで、理屈の上では4~8ジョブくらいが妥当なはず。
とはいえ、メモリがそれに追いつくとはまた違うので、今回は2ジョブだけでやってみます。
というわけで、"~/.bashrc"あたりに以下のような記述を追加します。

MAKEFLAGS="-j2"
export MAKE="make $MAKEFLAGS"
alias make="make $MAKEFLAGS"