Arch Wikiによると そのdefaults,discard
は、スワップパーティションのfstab
ファイルで使用できます。ただし、スワップファイルについても、 man page についても明確ではありません。
スワップファイルがdiscard
オプションでマウントされているファイルシステムにある場合(そして明らかにSSDにある場合)、discard
自体を使用する必要がありますか?そして、親ファイルシステムがない場合discard
'ing?
直感は「いいえ」と言いますが、それについて何も見つけることができず、議論する価値があると思いました。
私はノーと言うでしょう。
1:スワップスペースは、ファイルシステムと同じ概念free spaceを使用しません
2:重要なのは、ウェアレベリングの適切な作業を可能にするために、常にSSDに少なくとも25%の空き容量を確保することです(この値はSandiskの担当者から電話で与えられたものです)。
=>ディスクに作業用の予備のクラスターがあり、WLを実行する限り、ディスクの5%がトリミングされないか、継続的に再書き込みされても、同じ論理セクターまたは物理セクターを再書き込みしても問題はありません、十分な大きさのブロックを書き込む場合、WLはとにかく異なるクラスターを使用します。
スワッピングにディスク全体を使用している場合、問題は未解決のままです。スワップに使用されるディスク全体は、トリミングされていない場合、早期のエージングに悩まされる可能性があります。
もう1つの質問は、スワップドライバーが破棄をサポートしているかどうかです。 ext3/ext4 do。
おそらく、スワップがディスクのかなりの割合を占めている場合、可能であれば、シャットダウン中にスワップスペースを破棄またはトリミングできます。可能であれば、すべてのサービスを終了した後、swapoffを実行し、スワップスペースを破棄する方法を見つけます(私はエキスパートではないので、質問に答えずにはいられないので、もう一度mkfs.ext3、fstrim、mkswapを提案します-おそらく他のより良い解決策があります。シャットダウンがUPSによるものかどうかを確認してください。).
他の回答が残した質問/提案のいくつかは、以下のドキュメントを読むことで回答できます。
discard
がファイルシステムで推奨されているとは思いません。代わりにfstrim
を定期的に実行することをお勧めします。このためのcronジョブを見つけることができます。
カーネル開発者は、最近でも破棄操作のパフォーマンスに特に満足していません。デバイス間で大きく異なります。また、デバイスはビジー状態の場合に破棄操作をドロップできるため、定期的な破棄anywayを実行する必要があります。
他の答えが言うように、あなたのファイルシステムはあなたのスワップスペースよりも非常に大きいので、そうでなければ証明できない限り、オプションdiscard
を追加しないことが最善です。そしてdiscard=once
は賢いですが、それでもブートが遅くなる可能性があります(スワップ領域が使用されていた場合)。だから私はそれを有効にする価値があるとは思わない。
-d、-discard [= policy]
スワップバッキングデバイスが破棄またはトリム操作をサポートしている場合は、スワップ破棄を有効にします。これにより、一部のソリッドステートデバイスのパフォーマンスが向上する可能性がありますが、 しばしばそれはしません。このオプションを使用すると、2つの利用可能なスワップ破棄ポリシーから選択できます。--discard = onceは、swapon時にスワップ領域全体に対して1回限りの破棄操作を実行します。または--discard = pagesを使用して、解放されたスワップページを再利用する前に非同期に破棄します。ポリシーが選択されていない場合、デフォルトの動作では両方の廃棄タイプが有効になります。/etc/fstabマウントオプションのdiscard、discard = once、またはdiscard = pagesを使用して、破棄フラグを有効にすることもできます。