これまでの設定で(CUI環境下での)動作上の問題が無いことが確認できたところで、SDカード上で動作していることからフラッシュメモリの書き込み回数制限が気になるところ。
そこで、CUI環境での使用のみならばRAM(=RAMディスク)上で動作するようにシステムを調整できるはずなので、そのように設定してみよう。
(念のため書きますが、これから実施する設定でGUI環境が動作するかについては未確認なのでその点はご了承ください。)
1.基本設定の変更
GUI使用は考慮しなくて良いので、書き込み回数制限のあるSDカード上にスワップファイルやテンポラリファイルを作成しないよう設定を変更する。
2.スワップファイルの生成を抑止する
まずは、dphys-swapfile サービス(自動起動)設定の記述を変更してスワップファイルを生成しないようにしましょう。
(1)設定状況の確認
設定の確認コマンドを実行する。
$ chkconfig dphys-swapfile –list |
と、このときコマンド実行時にエラーとなりました。chkconfig コマンドが存在しないとのこと。
ならば、chkconfig コマンドをインストールします。
$ sudo apt-get install chkconfig |
インストールが無事成功したのでリトライ…
$ chkconfig dphys-swapfile –list dphys-swapfile 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
今度は無事結果が表示されました。
あわせて、この結果からサービスが有効になっていることも確認できました。
(2)サービス(自動起動)設定の無効化
前の手順で、サービスが有効になっていることが確認できたので無効化します。
$ chkconfig dphys-swapfile off |
と、ここで、”パーミッションがない”とエラーがになってしまいました。
たしかに、管理者ではない一般ユーザでシステムの変更コマンドを実行したのだから当たり前ですね。
というわけで、管理者権限でリトライします。
$ sudo chkconfig dphys-swapfile off |
さて…
今回はエラー発生していないようなので成功したようです。再び状態を確認しましょう。
$ chkconfig dphys-swapfile –list dphys-swapfile 0:off 1:off 2:off 3:off 4:off 5:off 6:off |
どうやらうまくいったようです。すべてoffになっているのでサービスの停止を確認できました。
3.テンポラリファイルの生成を抑止する
テンポラリファイルの生成を抑止するのは現実的ではないので、RAMDISK上に展開されるように設定変更することで、SDカードデバイスへの書き出し(生成)を抑止することにします。
(1)マウントポイントを確認
OS起動時に、/tmpディレクトリと/var/tmpディレクトリを、RAMディスク上にマウントするように変更します。
変更前のディスク使用状況を確認しておく。
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置 |
(2)マウントポイントを追加(変更)
以下のように、設定ファイルを編集する。
対象設定ファイル : /etc/fstab
<変更前>
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that |
<変更後>
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that # tmpファイルをRAMディスク上に展開する記述 tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 0 0 <-追記した tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 <-追記した |
(3)再起動
設定変更後にシステムを再起動します。
(4)変更の確認
再起動してから状態を確認すると…
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 rootfs 15G 2.1G 12G 15% / /dev/root 15G 2.1G 12G 15% / devtmpfs 215M 0 215M 0% /dev tmpfs 44M 224K 44M 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 88M 0 88M 0% /run/shm /dev/mmcblk0p1 56M 9.5M 47M 17% /boot tmpfs 32M 0 32M 0% /tmp tmpfs 16M 0 16M 0% /var/tmp |
以上でスワップファイルとテンポラリファイルに関する設定は終了です。