システムログやブラウザは大量にキャッシュしてディスクアクセスを頻発させる。そのせいで書込上限数がガリガリ減ってSDカードやSSDがすぐ死ぬ。これを防ぐためディスクでなくメモリにそれを肩代わりさせることで延命&高速化を図る。
- SWAP無効化
- RAMディスク
1. SWAP無効化
まずはSWAPが使われていることを確認する。
$ free -h total used free shared buff/cache available Mem: 7.6Gi 1.9Gi 5.0Gi 431Mi 1.0Gi 5.8Gi Swap: 511Mi 285Mi 226Mi
SWAPの削除と無効化する。
sudo swapoff --all sudo systemctl stop dphys-swapfile sudo systemctl disable dphys-swapfile systemctl status dphys-swapfile
最後にSWAPが0Bになって消えたことを確認する。
$ free -h total used free shared buff/cache available Mem: 7.6Gi 2.2Gi 4.7Gi 598Mi 1.2Gi 5.4Gi Swap: 0B 0B 0B
過去記事は以下。
2. RAMディスク
ディスクの空き容量を確認する。
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 udev 3.6G 0 3.6G 0% /dev tmpfs 782M 9.7M 773M 2% /run /dev/sda2 220G 6.3G 203G 3% / tmpfs 3.9G 247M 3.6G 7% /dev/shm tmpfs 5.0M 16K 5.0M 1% /run/lock /dev/sda1 510M 69M 442M 14% /boot/firmware tmpfs 782M 64K 782M 1% /run/user/1000
tmpfsがRAMディスク。既に最初から勝手に作られているものもあるみたい。
RAMディスクを作る
過去のメモを参考にしよう。
https://ytyaru.hatenablog.com/entry/2019/05/31/000000 https://ytyaru.hatenablog.com/entry/2019/03/21/000000
パスに半角スペースがあるときは代わりに\040と入力する必要がある。
sudo mousepad /etc/fstab
proc /proc proc defaults 0 0 PARTUUID=6a904b55-01 /boot/firmware vfat defaults 0 2 PARTUUID=6a904b55-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that tmpfs /tmp tmpfs defaults,size=2024m,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0 tmpfs /home/pi/.cache/chromium/Default/ tmpfs defaults,size=2024m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/chromium/System\040Profile/ tmpfs defaults,size=2024m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/chromium/Profile\0401/ tmpfs defaults,size=2024m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/chromium/Profile\0402/ tmpfs defaults,size=2024m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/mozilla/firefox/ tmpfs defaults,size=4096m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/gimp/2.10/ tmpfs defaults,size=512m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/lxsession/LXDE-pi/ tmpfs defaults,size=32m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/openbox/ tmpfs defaults,size=32m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/vlc/ tmpfs defaults,size=256m,noatime,mode=1777 0 0 tmpfs /home/pi/.npm/_logs tmpfs defaults,size=1m,noatime,mode=1777 0 0
再起動するわけだが、上記の設定が原因でブートできない可能性もありうるため怖い。
reboot
成功した。
RAMディスクを使う
あるいはGitHubのリポジトリを作成してアップロードしたりダウンロードしたり。
ソースコードをDLしてビルドする時も活躍する。たまに容量が足りなくてエラーになることもあったが。
基本的にRAMディスク上で作業すればSSDディスクは削られない。もう何年もこの形でコードのアップロードをしているから、ローカルのディスクには何もない。全部GitHubにある。