LinuxでSSDに関する雑記
WindowsXPのサポート期間がついに1年を切ったということもあって、フリーOSであるLinuxへの移行を現実的に検討している方も少なからずいるようですね。
そうした動きと連動してなのか、このブログにある以下の過去の記載へのアクセスが連日ポロポロとあったりしています。
- 2013/01/13 記載
XPから移行するためのLinuxOS選定マイプロジェクトゆるやかに始動! - 2011/11/12 記載
フリーOSの未来はいかに・・・。
お古パソコンの継続利用、再生利用は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ではファイルシステムによって対応時期が異なる。現在主流のファイルシステム「ext4」では、2010年の2月から実装とのこと。
(2009/9/1にボリュームライセンスリリースされたWindows7に呼応するかのように対応。)
もうちょっと詳しく記載してみると、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スケジューラーを入れ替えることはない?ってことになる。 う~んややこしい・・・。
| 固定リンク
この記事へのコメントは終了しました。
コメント