ROCK64のArmbianの動作が不安定な場合に試してみること

Linuxのプログラム/ライブラリの一部は、swapの使用を前提に作られているものがあり、swap容量が不足すると、動作が不安定になる場合があるようです。

シングルボードコンピュータの動作が不安定な場合、次の手順でswapを増やしてみることをお勧め致します。


Armbianのswap追加手順

こちらはRaspberry Pi Zeroの場合ですが。コンパイラを動かした場合など、swapの使用量がメインメモリーの容量を上回る場合があります。

ROCK64はメモリー4GB版を使用しましたので、swap領域はメモリー量の2倍、8GBを確保しようと思います。

armbianをeMMCにインストールしたため、/varディレクトリにswapファイルを作成しようと思います。

microSDカードの場合、寿命を考慮すると、microSDカードにswapを作成せずに、USBストレージに新たなswapパーティションを作るか、またはマウントしたパーティションに下記の手順でswapファイルを作るほうが良いかもしれません。

  1. ddコマンドで空のファイルを作成します。
    sudo dd if=/dev/zero of=/var/swapfile bs=1024 count=8M
  2. パーミッションを0600に変更後、mkswapコマンドでswapファイルシステムを作成します。
    sudo chmod 0600 /var/swapfile
    sudo mkswap /var/swapfile
  3. swaponコマンドで有効化します。
    sudo swapon /var/swapfile

    swapon -sコマンドで、正しく有効化されているか確認します。

  4. 再起動後も有効になるように/etc/fstabに設定を追加します。
    echo "/var/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab
    # cat /etc/fstab

こちらの記事では、ROCK64でUrBackupサーバを構築してみました。

swap容量を増やす前は、次のようなカーネルパニックログを出して、数分~数十分おきにROCK64が再起動していました。仮想アドレスへのアクセスに失敗しているようです。Oops!(最終行 和訳:おっとっと)

[ 9595.628035] Unable to handle kernel paging request at virtual address ffffff8007f8ce48
[ 9595.628039] Unable to handle kernel paging request at virtual address ffffff8007f8ce48
[ 9595.628048] pgd = ffffffc0e8a58000
[ 9595.628054] [ffffff8007f8ce48] *pgd=00000000e8a34003, *pud=00000000e8a34003, *pmd=0000000000000000
[ 9595.628060] Internal error: Oops: 86000006 [#1] SMP

swap容量を増やした後は、ROCK64の負荷が上がっても(ロードアベレージ3程度)カーネルパニックは発生しなくなりました。UrBackupサーバ(ROCK64)へのWindows PCのバックアップに16時間程度かかりましたが、一度も再起動することなく、ファイルバックアップ/ボリュームバックアップともに問題なく正常終了しました。このような感じで、swap容量の増加が、動作の安定化につながるケースもあるようです。

よろしければお試し下さいませ。

(それと熱暴走も要注意でした)

スポンサーリンク

フォローする

スポンサーリンク