[U] UbuntuでSSDの延命対策

入力環境が整ったところで、次はその他の環境を整えていきます。

【ここまでの流れ】
[U]自作PCが立ち上がるまで〜マザーボードに振り回される
[U]新メインPC、はじめの一歩〜Ubuntuのインストール
[U] Ubuntuの環境整備~まずは日本語入力

SSDにOSとアプリケーションをインストールするようになったので、起動が高速になったのはいいんですが、ご存知のようにSSDには書き込み回数の上限があります。

なので、寿命を伸ばすためにできる限り書き込み回数を抑える設定が必要。

これについても「Ubuntu SSD 延命」などで検索すると、多くのページがヒットします。

今回参考にさせていただいたページはこちら。

おいぬま日報:Ubuntu LinuxでSSDの寿命を延ばすための設定


 まずはスワップ領域をHDDに移動

メモリが足りなくなった時にディスクへ書き込む「ディスクスワップ」を解消します。

まず、物理的にスワップ領域をSSDからHDDに移動。

今回のマシンはメモリを8GB積んでいるので、これまでのところシステムモニターで見ていても、スワップが発生しそうな気配はありません。
ただ、ハイバネーションその他を利用しないとも限らないので、一応領域は確保しておくことにします。

起動ディスクにあるパーティションはいじれないので、別途作成したブータブルUSBを使ってPCを起動して、GPartedというアプリケーションでSSDのスワップ領域を削除します。

  1. スワップ領域を右クリックしてスワップを無効化
  2. スワップ領域のパーティションを削除

パーティションを削除した分は、システム(Ubuntu)の入ったパーティションを拡大するのに充てました。

次に、普通にSSDから起動して、同様にGPartedを使ってHDDにスワップ領域を作成します。

  1. 今あるパーティションを作りたいスワップ領域の分だけ縮小(今回はメモリと同じ8GB)
  2. 縮小してできた部分にパーティションを作成(フォーマットは「linux-swap」を選択)
  3. 作成したパーティションを右クリックして「スワップを有効化」を選択

きちんと設定できれば、システムモニターの「スワップ」に割り当てられた領域の容量が表示されます。
(SSDのスワップ領域を削除した直後であればゼロになっているはず)
sysmon_ss


 次はとにかく書き込みの抑制

続いて、SSDへの書き込みを抑制する設定。

上のリンク先に書かれているようにsysctrl.confでスワップの頻度を抑える設定をします。

ターミナルで
sudo gedit /etc/sysctl.conf
と入力して、sysctl.confを編集します(「gedit」の部分はお好きなエディタの起動コマンドで)。

以下の2行を追加。
vm.swappiness = 0
vm.dirty_writeback_centisecs = 2000

上の行はLinuxカーネルのスワップ処理の頻度を設定するコマンド。0で頻度が最低になります。
2行目はキャッシュされた処理をディスクに書き込む頻度を調整する設定。数字は「センチ秒(1/100秒)」単位なので、2000だと20秒ごとの書き込みになります。

次に、ファイルのデータベースの更新頻度を1日1回から1週間に1回にします。

デフォルトでは/etc/cron.daily/にあるmlocateを/etc/cron.weekly/に移動。

ターミナルで
sudo mv /etc/cron.daily/mlocate /etc/cron.weekly/mlocate
と入力してファイルを移動。

とりあえず、延命のための設定はこんな感じ。

さらにSSDを効率よく、より長く使うための機能として「Trimコマンド」があるんですが、長くなったのでこれについてはまた別エントリで。

カテゴリー: Linux, ツールあれこれ タグ: , , , , パーマリンク