QLOOKアクセス解析

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告  |  ↑Top

2012/10/15 (Mon) 13:00

Linux SSD の設定

LinuxをSSDにインストールした後、先ずやるべき事はSSDの設定であろう。今回はBodhi Linux 2.0.1をノートPC LaVie NX LW450J/2にインストールしたのでそれを例に解説するが、Bodhi Linuxに限らずLinux全般について共通する設定である。
LaVie NX LW450J/2 スペック
当ブログ Bodhi Linux 目次

SSDの設定について、大きく2つやるべきことがある。
・TRIMの設定
・SSDへの書込回数を減らすための設定

TRIMとは、SSDへの書き込みを高速化させるための機能である。より正確に言うなら、SSDは書込回数が増えると書込速度が低下する。その書込速度をなるべく低下させないための機能がTRIMである。

どういう原理かと言うと、TRIMを使わない場合、データ削除の際、削除した領域に未使用のフラグを立てるだけで実際のデータの消去は行わない。そこにデータを書き込む場合、HDDであれば単に上書きをするだけだが、SSDの場合は一旦消去してからでないと書き込みができない。論理的には未使用であるが物理的にはデータのある領域が増えてくると、書き込みの際に物理的消去と書き込みの両方を行わなければならないので書き込みの速度が低下する。さらにその領域が分散されている場合には一層書込速度が遅くなる。TRIMとは、データ削除の際に、データの物理的削除も行うための機能である。

ただし、TRIMはOSとハードウェアの両方が対応していなければ使えない。またRAID構成をした場合もTRIMが使えないことが多い。今回使用したSSDは、トランセンドTS32GPSD320である。このSSDはIDE(別名PATA、パラレルATA、あるいは単にATA)である。一般にIDEはTRIMが使えないと言われているが、使える場合もあるという情報もあり、メーカーに直接問い合わせたところ、以下のような回答が返って来た。

(前略)ご質問いただきました件でございますが、ご検討の製品は、trim機能はございます。しかし、trim機能をご利用頂く場合は、ご利用のOSと環境がtrimに対応されていないとご利用頂く事ができませんので、ご注意頂きます様お願い申し上げます。(後略)


OSは意味が分かるが、環境とは何を指しているのがそのときは分からなかったので、とりあえずTRIMの設定はやっておくことにした。TRIM機能が使えない場合は、データ消去の度にTRIMが使えないという内部エラーが発生するはずだが、とりあえず実害はないはずである。TRIMが使えているかどうかの確認は作業環境を整備してからやれば良い。この確認方法については項を改めて記載する。

次にSSDへの書込回数削減について。SSDは書込回数が増えると劣化して最終的には使えなくなる。従って無駄な書き込みはできるだけ減らしたほうが良い。とは言うものも、TS32GPSD320は3年保証である。しかも今回インストールするPCはサブPCで普段それほど使わないので神経質になる必要はないだろう。しかしできる設定はしておいた方が良い。

ネットで見ると、書込回数削減について多くの人が気にしているのはスワップの設定である。スワップ領域をHDDに確保するとか、スワップを全く使わないとかの設定をしている人が多い。しかし今回のマシンはノートなので、HDDにスワップを確保することはできないし、物理的にメモリが少ないので(256MB)スワップ領域は必要である。またハイバネート(電源を切る際にメモリイメージをスワップ領域に保存し、次回起動の際前回の作業状況を再現する機能)のためにもスワップは必要である。そこで今回はインストールの際、セオリー通り物理メモリの2倍の512MBのスワップ領域を確保した。

スワップについて、Bodhi LinuxはzRamという機能をデフォルトで搭載している。zRamとはRAMの一部をRAMディスクとして使用し、その領域をスワップとして使う機能である。メモリが少ないときに特に有効だとされ、スマートフォンなどでも使われている。zRamの設定をチューニングすればSSDの負担を減らすことが可能かもしれない。また、デフォルトの設定ではzRamがSSDまたはHDDのスワップ領域より優先して使用されるので、SSDへのスワップの書き込みはそれほど気にしなくても良いだろう。zRamについては項を改めて記載する。

ところでスワップでSSDに負担をかけないようにする最大の対策は、当時に多くのアプリケーションやブラウザのタブを開かないことである。スワップを使うとSSDに負担がかかるだけでなく、パフォーマンスが著しく低下するので、この対策が実は最も有効である。

なお一般ファイルのファイルシステムは、インストールの際ext4でフォーマットしてある。SSDに適したファイルシステムについて色々調べたが、現時点ではext4がベストのようである。近年SSDを意識したBtrfs、JFFS2などのファイルシステムも開発されているが、まだメジャーではなく安定性に問題があったりするようである。そもそもインストールの際に選択できなかったりした。なお古いファイルシステムであるext2やext3よりはext4を選択すべきである。またWindows用のファイルシステムであるNTFSやFAT32などはよほど特別な理由が無い限り避けるべきである。わざわざWindows用のファイルシステムを選択する人もいないとは思うが、パーミッションの設定ができなくなる。

では以下具体的な設定について。主に以下の記事を参考にした。
【Ubuntu】【自分用メモ】 SSD向けの設定を実施してみた。
おいぬま日報 Ubuntu LinuxでSSDの寿命を延ばすための設定


1./etc/fstab の設定
/etc/fstabの記述例。

# / was on /dev/sda1 during installation
UUID=XXXXXXXXXXXX  /     ext4  discard,noatime,errors=remount-ro  0 1
# swap was on /dev/sda3 during installation
UUID=XXXXXXXXXXXX  none  swap  sw,discard                         0 0
# /tmp tmpfs
tmpfs              /tmp  tmpfs defaults,size=512m                 0 0


UUID=XXXXXXXXXXXXの部分は、16進数値とハイフン。
赤字の部分がSSD用の設定。オリジナルの/etc/fstabに赤字部分だけ追加すれば良い。
discard TRIM機能の有効化。
noatime ファイルの読込時間を記録しない。設定しないとファイルを読む度に更新される。

緑字のtmpfsの設定は上記参考記事では推奨されているが、今回は行わなかった。/tmpへの書き込みはそれほど頻繁には起こらないし、メモリが少ないのでメモリを圧迫したくなかったので。メモリに余裕がある場合は、サイズを適当に調整して設定すると良いだろう。
tmpfsとは


2./etc/sysctl.conf の設定
/etc/sysctl.confに以下の2行を追加する。

vm.dirty_writeback_centisecs = 1500
vm.swappiness = 20


vm.dirty_writeback_centisecs バッファキャッシュの書込間隔の調整(単位1/100秒)。デフォルト値は500。書込間隔を長くすることでSSDへの書込回数を減らす。ただし副作用あり。詳細はこちらを。
Kodama's tips page キャッシュの書き込み間隔の調整

vm.swappiness 値が小さいほうがスワップしにくくなる。0にすると物理メモリを使いきるまでスワップしなくなる。デフォルト値60。しかし0にはしない方が良いらしい。特にBodhi Linux 2にはzRamがあるので、zRamだけを使っている分にはSSDへの負担もなく、パフォーマンスも大きくは劣化しない。

設定にエラーが無いかの確認と反映は以下のコマンドを入力する。

sudo sysctl -p



3.mlocate のデータベース作成頻度の軽減または mlocate の削除
mlocateとはファイル検索コマンドである。素早い検索が可能であるが、デフォルトではデータベースを毎日更新し、その際大量の書き込みが発生する。それを週1回または月1回くらいに変更するか、mlocateを使わないならmlocateそのものを削除してしまう。
週1回に変更するなら1番目のコマンド。
月1回に変更するなら2番目のコマンド。
mlocateそのものを削除してしまうなら3番目のコマンド。

sudo mv /etc/cron.daily/mlocate /etc/cron.weekly/
sudo mv /etc/cron.daily/mlocate /etc/cron.monthly/
sudo apt-get purge mlocate



以上が完了したら再起動してSSDの設定は一旦設定終了。TRIM機能の有無の確認と設定の変更は作業環境が整ってから行う。それについては項を改めて記述する。

目次
Bodhi Linux 目次
Bodhi Linux インストール後作業一覧

Bodhi Linux  |  トラックバック(0)  |  コメント(0)  |  ↑Top

Comment

コメントを投稿する


 管理者だけに表示  (非公開コメント投稿可能)

▲TOP

Trackback

この記事のトラックバックURL

→http://cyberbaba.blog57.fc2.com/tb.php/252-b7eb474d

この記事にトラックバックする(FC2ブログユーザー)

この記事へのトラックバック

▲TOP

 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。