回答:
ファイルシステムEXT4 + TRIM:
SWAPパーティション:
パーティションの配置:
そのため、EXT4 + TRIMは、機械式ハードドライブのSWAPを使用するか、SSDのSWAPを使用しないでください。
上記は、Source:How to Maximize SSD Performanceを参照することで実装できます。
nodiratime
いつ指定するかを指定する必要はありませんnoatime
。同意すると、見た目はクールで仲間のオタクにとっては高度ですが、noatime
inodeでatime が無効になり、ディレクトリもiノードであるため、「手を洗って親指も洗ってください」と言っているようなものです。:)
ext4を選択し、TRIMサポートのdiscard
オプションでマウントするか、FITRIMを使用します(以下を参照)。noatime
「SSD摩耗」を恐れる場合にもこのオプションを使用してください。
マルチアプリケーションサーバーのデフォルトのI / Oスケジューラ(CFQ)を変更しないでください。プロセス間の公平性を提供し、自動SSDをサポートします。ただし、デスクトップで Deadline を使用すると、負荷がかかった場合の応答性が向上します。
適切なデータアライメントを簡単に保証するには、各パーティションの開始セクターを2048の倍数(= 1 MiB)にする必要があります。を使用fdisk -cu /dev/sdX
して作成できます。最近のディストリビューションでは、これが自動的に処理されます。
SSDでスワップを使用する前によく考えてください。おそらく、HDDでのスワップに比べてはるかに高速になりますが、ディスクの摩耗も速くなります(関連性がない可能性があります。以下を参照)。
Ext4は、最も一般的なLinuxファイルシステムです(十分に管理されています)。SSDで良好なパフォーマンスを提供し、TRIM(およびFITRIM)機能をサポートして、長期間にわたって良好なSSDパフォーマンスを維持します(これにより、未使用のメモリブロックが消去され、後の書き込みアクセスが速くなります)。NILFSは特にフラッシュメモリドライブ用に設計されていますが、ベンチマークではext4よりも実際にはパフォーマンスが良くありませ ん。Btrfsはまだ実験的であると見なされています(実際にはどちらも優れたパフォーマンスを発揮しません)。
TRIMの機能は、ファイルシステムによってもはや使用されていないSSDのブロックを消去します。これにより、長期の書き込みパフォーマンスが最適化され、SSDでは設計上推奨されます。これは、ファイルシステムがこれらのブロックについてドライブに通知できる必要があることを意味します。ext4のdiscard
マウントオプションは、ファイルシステムブロックが解放されると、そのようなTRIMコマンドを発行します。これはオンライン破棄です。
ただし、この動作はパフォーマンスのオーバーヘッドがわずかであることを意味します。Linux 2.6.37以降では、使用discard
を避けることができ、代わりにFITRIMを使用してバッチ破棄を行うことができます(たとえば、crontabから)。fstrim
ユーティリティは、この(オンライン)し、同様-E discard
のオプションfsck.ext4
。ただし、これらのツールの「最新」バージョンが必要になります。
この点に関してSSDの寿命は限られているため、ドライブへの書き込みを制限することをお勧めします。ただし、今日の最悪の128 GB SSDは、 1日あたり少なくとも 20 GBの書き込みデータを5年以上(セルあたり1000書き込みサイクル)サポートできます。より良いもの(そしてより大きなもの)はもっと長く続くことができます:あなたはそれまでにそれを交換したでしょう。
SSDでスワップを使用する場合、カーネルは非回転ディスクに気付き、スワップの使用をランダム化します(カーネルレベルのウェアレベリング):SS
スワップが有効になっている場合、カーネルメッセージに(固体状態)が表示されます。
/ dev / sda1に2097148kスワップを追加します。優先度:-1エクステント:1全体:2097148k SS
また、私はaliasgarの回答の大部分に同意します(そのほとんどがこのWebサイトから-違法にコピーされた場合でも)- スケジューラの部分については部分的に同意しなければなりません。デフォルトでは、デッドラインスケジューラはエレベータアルゴリズムを実装するため、回転ディスク用に最適化されています。それでは、この部分を明確にしましょう。
カーネル2.6.29以降では、SSDディスクが自動的に検出されます。これは次の方法で確認できます。
cat /sys/block/sda/queue/rotational
1
ハードディスクと0
SSD を入手する必要があります。
これで、CFQスケジューラは、この情報に基づいて動作を調整できます。Linux 3.1以降、カーネルのドキュメントcfq-iosched.txt
ファイルには次のように記載されています。
CFQはSSDに対していくつかの最適化を行い、より高いキュー深度(一度に飛行中の複数の要求)をサポートできる非回転メディアを検出した場合、[...]。
また、Deadlineスケジューラーは、セクター番号に基づいて、回転ディスク上の順不同のヘッドの動きを制限しようとします。カーネルドキュメントdeadline-iosched.txt
、fifo_batch
オプションの説明を引用:
要求は特定のデータ方向(読み取りまたは書き込み)の「バッチ」にグループ化され、セクターの順序で処理されます。
ただし、SSDを使用するときにこのパラメーターを1にチューニングすると興味深い場合があります。
このパラメータは、リクエストごとのレイテンシと集約スループットのバランスを調整します。低レイテンシが主な関心事である場合は、小さい方が優れています(1の値は先着順の動作をもたらします)。fifo_batchを増やすと、一般にスループットが向上しますが、レイテンシーの変動が犠牲になります。
いくつかのベンチマーク は 、異なるスケジューラ間でパフォーマンスにほとんど差がないことを示唆しています。それでは、なぜ公正さをお勧めしませんか?CFQがベンチでめったに悪くないとき。ただし、デスクトップのセットアップでは、通常、その設計のために、負荷がかかった状態でDeadlineを使用すると応答性が向上します(ただし、スループットコストは低くなります)。
とは言うものの、より良いベンチマークではDeadlineを使用してみfifo_batch=1
ます。
デフォルトでSSDでDeadlineを使用するには/etc/udev.d/99-ssd.rules
、次のようにファイルを作成できます。
# all non-rotational block devices use 'deadline' scheduler
# mostly useful for SSDs on desktops systems
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
ArchLinuxの記事Solid State Drivesには、ファイルシステムの選択のセクションがあります:
Ext2 / 3/4、Btrfsなどを含むファイルシステムには多くのオプションがあります。
Btrfs
Btrfsサポートは、Linuxカーネルのメインライン2.6.29リリースに含まれています。ext4の後継となる可能性のある早期採用者もいる一方で、実稼働で使用するには十分に成熟していないと感じる人もいます。詳細については、Btrfsの記事を読むことをお勧めします 。Ext4
Ext4は、SSDをサポートする別のファイルシステムです。2.6.28以降は安定していると見なされ、毎日の使用に十分なほど成熟しています。Btrfsとは異なり、ext4はディスクの性質を自動的に検出しません。ユーザーは、fstabでマウントの破棄オプションを使用して(またはtune2fs -o discard / dev / sdaXを使用して)TRIMコマンドのサポートを明示的に有効にする必要があります。
BtrfsとExt4は両方とも、SSDを効率的に使用するための2つの主要な要件を満たしています。
パフォーマンスのために、他に2つの要件があります。
最初のものは、現在ほとんどのLinuxインストーラーで自動化されています。fdiskは、「-cu」フラグで開始された場合、1024KBの境界にパーティションを作成します。
2番目はBtrfsでは自動ですが、Ext4の場合、これは「/ etc / fstab」ファイル内の各Ext4パーティションのマウントオプションのリストに「discard」を追加することで手動で行われます。詳細については、このhowtoを参照してください。
私の意見では、Ext4のfstabを少しいじる必要があるだけで、この成熟した優れたファイルシステムを使用しない理由はありません。
BTRFS IMO。Ubuntu 8.04以降には、GPT対応のGRUBのバージョンが含まれています。GPTとGdiskを使用すると、パーティションが調整されます。fdiskでも同様にできると思います。
とにかく、BTRFSファイルシステムにUbuntuをインストールするためのリンクを次に示します。
http://www.linuxbsdos.com/2011/05/05/how-to-install-ubuntu-11-04-on-a-btrfs-file-system/
お役に立てば幸いです。
gdisk
とgrub 2.0.x
、(私は誰かが答えに以下のことを述べた推測)とMBRは古いものを使用して、従来の方法であるgrub 0.9.7
とfdisk
..あなたがここで詳細を見つけることができます:wiki.archlinux.org/index.php/Solid_State_Drivesを