« XPサポート終了までついに残り1年!未だに潜在的なニーズあり? | トップページ | 4月も半ばを超えたけど・・・ »

2013年4月14日 (日)

LinuxでSSDに関する雑記

WindowsXPのサポート期間がついに1年を切ったということもあって、フリーOSであるLinuxへの移行を現実的に検討している方も少なからずいるようですね。

そうした動きと連動してなのか、このブログにある以下の過去の記載へのアクセスが連日ポロポロとあったりしています。


お古パソコンの継続利用、再生利用はLinuxのお家芸?の1つですが、Ubuntuを中心に最近のデスクトップLinuxはGUI環境の充実が著しいこともあって(軽量カスタマイズを徹底して施している場合は別として)、ある程度のハードウェアスペックが求められています。

そんなわけで(Windowsと同様)デスクトップLinuxにおいても動作レスポンスの大幅な改善・向上にはSSD導入が有効な手段の1つです。

ただSSDは書き込み回数に上限(つまり寿命)があるのは周知の通りで、寿命を伸ばすための技術の1つである「Trim(トリム)」機能に利用するOSが対応しているか、否かは結構重要。

Windowsでは(XP、Vistaは「Trim」には非対応で)Win7から「Trim」に対応になりましたが、「Linuxではどうなの?」と思っている方案外と多いのでは。

「日経Linux」 2012年3月号 P66に、"LinuxカーネルのSSD対応の歴史"が表として分かりやすく掲載されていました。

日経 Linux (リナックス) 2012年 03月号 [雑誌] Book
日経 Linux (リナックス) 2012年 03月号 [雑誌]
Amazonで確認する

出版社: 日経BP社
発売日: 2012/02/08

Linuxではファイルシステムによって対応時期が異なる。現在主流のファイルシステム「ext4」では、2010年の2月から実装とのこと。
(2009/9/1にボリュームライセンスリリースされたWindows7に呼応するかのように対応。)

Linux_ssd_history

もうちょっと詳しく記載してみると、Linuxでは未使用領域をSSDコントローラーに通知するコマンドは以下の2つに分類されています。

  • Trim(トリム)・・・ATA接続機器用のコマンド
  • Unmap(アンマップ)・・・SCSI接続機器用のコマンド

両者を総称して「discard(ディスカード:廃棄)」処理と言うそうです。

で、ここからが重要なポイント。Linuxでは「discard」処理に対応してはいるものの、自動的では有効にならないとのこと!(◎o◎)!

有効にするにはユーザーで設定が必要で、コマンド入力するなら以下のような感じ。
(間違ってたらすいません。<(_ _)>)

 「# sudo mount -t ext4 -o discard /dev/sdb1 /mnt」 

このようにユーザー自身でコマンド入力をして「discard」処理を実施することを「バッチdiscard」と言うそうです。

ただ「バッチdiscard」だとパソコン起動のたびにコマンド入力が必要になるので、「/ect/fstab」に設定して恒久的に「discard」処理を有効にするのが通例(だと思います)。


ちなみに、「日経Linux」 2013年3月号 P30によると

I/Oスケジューラーを切り替えることで、SSDの入出力性能が向上すると考えられる。初期設定で使われるI/Oスケジューラーの「cfq」は入出力処理をHDD向けに最適化するために、入出力命令の順序を積極的に入れ替えているからだ。
SSD向けなのは「noop」という何もしないI/Oスケジューラーである。

~中略~

ただし効果はそれほど高くはないカーネル2.6.28以降では、cfqスケジューラーがSSD向けの最適化をある程度実施するからである

(多くのデスクトップLinuxのカーネルは3.0以降だから、)結局のところI/Oスケジューラーを入れ替えることはない?ってことになる。 う~んややこしい・・・。

|

« XPサポート終了までついに残り1年!未だに潜在的なニーズあり? | トップページ | 4月も半ばを超えたけど・・・ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« XPサポート終了までついに残り1年!未だに潜在的なニーズあり? | トップページ | 4月も半ばを超えたけど・・・ »