2 ソリッド・ステート・ドライブに関する推奨事項

他のストレージ・デバイスと同様に、ソリッド・ステート・ドライブ(SSD)では、パーティションが1MBの境界上にある必要があります。

SSD上のbtrfsおよびext4ファイル・システムの場合、discardオプションをmountとともに指定すると、ブロックが解放されるたびに、破棄(TRIM)コマンドがベースとなるSSDに送信されます。このオプションは、デバイスの稼働時間を長くすることができます。ただし、このオプションは、キューに入れられた破棄をサポートするSSDのパフォーマンスにも悪影響を与えます。

かわりに、fstrimコマンドを使用して、特にオペレーティング・システムを再インストールする前や、新しいファイル・システムをSSDに作成する前に、空の未使用ブロックを破棄します。システム・パフォーマンスへの影響が最小のときに実行するように、fstrimをスケジュールします。また、fstrimをファイル・システム全体ではなく特定の範囲のブロックに適用することもできます。

ノート:

SSDでのext4の最小ジャーナル・サイズである1024ファイル・システム・ブロックを使用すると、パフォーマンスが向上します。ただし、ジャーナル処理によってファイル・システムの堅牢性が向上するため、完全に無効にしないでください。

Xen Virtual Devices (XVD)の場合など、/sys/block/device/queue/rotationalの値が0の場合、btrfsによってデバイスのSSDの最適化が自動的に有効になります。btrfsがデバイスをSSDとして検出しない場合は、ssdオプションをmountに指定してSSDの最適化を有効にします。ただし、ssdオプションを設定するとdiscardも設定されるというわけではありません。

SSDの最適化を無効にするには、nossdオプションをmountに指定します。

SSDでスワップ・ファイルまたはパーティションを構成した場合は、カーネルによりスワップへの予測書込みが実行される傾向(vm.swappinessカーネル・パラメータの値によって制御され、/proc/sys/vm/swappinessとして表示される)を抑えてください。vm.swappinessの値は0から100までの範囲であり、値が大きいほど、スワップに書き込まれる傾向が強くなります。デフォルト値は60です。SSDでスワップが構成されたときの推奨値は、1です。次のコマンドを使用して、値を変更します。
echo "vm.swappiness = 1" >> /etc/sysctl.conf
sudo sysctl -p
...
vm.swappiness = 1

btrfsファイル・システムに関連するスワップ関連の追加情報は、Oracle Linux 8: ローカル・ファイル・システムの管理の「btrfsファイル・システムでのスワップ・ファイルの作成」を参照してください。