TNTノードのKilledループを解決する方法

築城で消耗していますか?

こんにちは、しずく(@sizuku_bitcoin)です。

今回は報告例が増えてきてしまった137エラー、いわゆるKilledループに対する解決策をまとめてみました。

お困りの方も、そうじゃない方も急に発生する現象ですので予め対策しておくのが吉です。

Killedループとは

make logsでログを確認するとKilled→error Command failed with exit code 137のループに陥りノードがリブートを繰り返す挙動が発生する場合があります。

これについてはどうやらメモリ関連のエラーのようで、サーバーのHDD領域をスワップ領域として確保することで解決できます。

今回の記事を書くにあたってはCrypto Mafiaさん、Crypto_Shogunさんのリプライが大変参考になりました。改めて感謝です!

スワップ領域を確保する

スワップは、オペレーティングシステムがRAMに保持できなくなったデータを一時的に格納できる場所として指定されたハードドライブ上の領域です。ハードドライブ上のスワップスペースは、使用中のアプリケーションデータを保持するのに十分なRAMがない場合に主に使用されます。(How To Add Swap Space on Ubuntu 16.04より一部引用)

アプリケーションのメモリ不足エラーに対する解決策としてはスワップ領域の確保が有効ですので、今回はDigitalOceanのUbuntuサーバーにスワップ領域を確保する方法について解説します。

ノードを実行中の場合はmake downを実行してノードを落として下さい。

コマンドがわからない場合は前回の記事を参照。

【解説】TNT(Tierion)のノード建てにチャレンジしてみたお話

2017.09.18

はじめに、以下のコードでスワップファイルを作成します。この時1G部分には割り当てたい任意の容量を指定して下さい。

sudo fallocate -l 1G /swapfile

もしこのコマンドでText file busyエラーが返される場合は、“Text file busyと表示されて編集できない場合は”項目を御覧ください。

次にスワップファイルの権限をrootユーザーのみに変更するためにchmodを実行します。(しなくてもOKですが、セキュリティの確保として有効です。)

sudo chmod 600 /swapfile

権限を変更した後はスワップファイルをスワップ空間として割当を行います。

sudo mkswap /swapfile

最後にスワップファイルを有効化して完了です。

sudo swapon /swapfile

基本的にはこれで完了なのですが、以下のコードを実行すると/etc/fstabの末尾に/swapfile none swap sw 0 0が追記され、再起動しても設定が保持されるようになります。

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

以下のコマンドで、割当てたスワップ領域を確認可能です。

free -h

しっかりとSwapとして確保されていますね!お疲れ様でした。

Text file busyと表示されて編集できない場合は

スワップファイル作成の際に以下のコマンドを入力した際、

sudo fallocate -l 1G /swapfile

このようにエラーが返される場合があるかもしれません。

この場合はこちらのコマンドを入力して再度はじめの手順から設定してみてください。

sudo swapoff -a

おそらくエラーが返されること無くスワップファイルの作成が可能になるはずです。

もし記事内に間違いがあれば、TwitterLINE@宛に教えてくださると嬉しいです。直ぐに修正致します。

 

▼以下のボタンをクリックして頂けると記事更新の励みになります。▼
  • LINE@にまだ登録していない方はこちらよりご登録をお願い致します。
  • ビットコイン口座の開設はcoincheckがオススメです。口座開設方法の記事はこちら

※いまなら最大5000円キャッシュバック中、スマホからでも簡単に購入できます。

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin