LinuxでSSDを最適化する方法は?

LinuxでSSDを最適化する方法は?

これページデフラグはSSDに役立つことが証明されています。ディスクの寿命を維持するには、このタイプのデフラグをトリム認識する必要があると思います。 Linuxでこれを行うにはどうすればよいですか?

編集する:この記事の内容に問題があるというコメントがありました。

答え1

通常、断片化を完全に無視できます。これは、HDDほど検索時間の影響を受けないSSDの場合に特に当てはまります。 SSDデフラグは書き込みサイクルのみを無駄にします。

断片化は、ランダムな順序で作成された希薄なファイル(一部のBitTorrentクライアントのように)やディスクの空き容量が足りない場合など、極端な場合に顕著な影響を与える可能性がありますが、記録された最後のファイルは他の隣接するスペースが断片化を満たす可能性があります。ないので、必要に応じて数千個に分けられます。

しかし、これは例外です。これは通常発生しません。ほとんどのファイルシステムは断片化を防ぐのに非常に巧みであり、Linuxカーネルも断片化による悪影響を防ぐのに堪能です。ファイルを同時に読み書きする複数のプロセスがある場合、ディスクは同時にどこにでもなければなりません。

Linuxにはデフラグソリューションはあまりありません。 XFSはxfs_fsr本当にうまくいくので、最適化を試してみたいなら、XFSは良い選択です。

filefragファイルの断片化を使用または確認できますhdparm

# filefrag debian-6.0.6-amd64-netinst.iso 
debian-6.0.6-amd64-netinst.iso: 4 extents found

# hdparm --fibmap debian-6.0.6-amd64-netinst.iso

debian-6.0.6-amd64-netinst.iso:
 filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0    3003928    3072407      68480
    35061760    2872856    2938391      65536
    68616192    2171576    2302647     131072
   135725056   56259072   56338047      78976

これが数百または数千の範囲(断片)を提供しなくても心配する必要はありません。

一般的なデフラグ方法は、ファイルのコピーを作成し、元のファイルをそのファイルに置き換えることです。たとえば、次のようになります。

cp -a yourfile yourfile.defrag
mv yourfile.defrag yourfile

ファイルシステムには空き容量が必要です。そうしないと、新しいファイルが古いファイルと同じくらい断片化される可能性が高くなります。 (交換する前に、新しいファイルが古いファイルより優れていることを確認してください。)

しかし、私が言ったように、ファイルが何らかの方法で非常にひどく断片化されていない限り、通常これを行う必要はありません。

答え2

他の人は、デフラグがSSDに影響を与えない可能性があると述べました。 (これは古い質問であることを知っていますが、文脈を追加したいと思いました。)

私は同じ主張をより強く説明したいと思います。デフラグの概念は、SSDにはまったく意味がありません。 SSD はシーケンシャル論理ブロックをフラッシュメモリのシーケンシャルブロックに書き込みません。スループットを最大化するために、SSDコントローラはブロックを複数のNANDチップ(ミニRAIDに似ています)に分散します。

望むより:http://www.anandtech.com/show/2829/5

SSDコントローラは、最適な速度を得るためにブロックを書き込む位置を決定し、各フラッシュメモリセルを均一に磨耗させる。したがって、論理ブロックが(オペレーティングシステムでは)順番に表示されても、実際にはまったく異なる順序でNANDに格納され、これは良いことです。何かを最適化するアイデアしなければならない分裂には何の意味もありません。

答え3

ext4デフラグプログラムが呼び出されるためですe4defrag。 (これは公式e2fsprogsの一部です)。

そして(私の考えでは)fstrim両方に動作する必要があるコマンドもあります。ファイルシステムで使用されていない領域の削除要求を送信します。ファイルシステムがマウントされていない場合(つまり、削除されたファイルの廃棄情報をすぐに転送する場合)、特に便利です。ext4xfs-o discard

これらのどれも自動的に設定されません。非常に珍しい人でなければ、そうする必要はありませんe4defrag

TRIM項目はより関連性が高いです。当時のパフォーマンス状況は非常に不明であったため、デフォルトではオフになっていました(つまり、アクティブにすると時々かなりの速度低下が発生する可能性があります)。申し訳ありません。新しいハードウェアを備えたLinuxです:)私はdiscardインストール時にマウントオプションを有効にする傾向があり、ファイルを削除すると恐ろしい中断は発生しません。 (クルーシャルm500 SSD)。

SSDレビューを読むと、ほとんどのSSDが100%満たされていないときに最高のパフォーマンスが得られることがわかります。 :)これは必須ではありませんが、スペース(たとえば10%)を予約して使用を防ぐ1つの方法は、パーティション化時にデバイス全体を割り当てないことです。

答え4

あなたが探しているツールは一流。ノートブック/サーバーをシャットダウンしない場合は、毎日、毎週、または夜ごとにシャットダウンするようにスケジュールできます。

次のスクリプトを次の場所に配置します/etc/cron.weekly/01-fstrim

#!/bin/sh
fstrim /
fstrim /home

実行可能にする:

chmod +x /etc/cron.weekly/01-fstrim

それではスクリプトを実行してみてください。エラーメッセージは印刷しないでください。 LUKS構成を変更した場合は、これを実行するために再起動が必要になる場合があります。

http://lukas.zapletalovi.com/2013/11/how-to-trim-your-ssd-in-fedora-19.html

関連情報