Storage前書きSSD、またはソリッドステートドライブのアーキテクチャにより、継続的に使用すると、考慮および軽減されない場合、パフォーマンスが低下します。*コマンドは、オペレーティングシステムがSSDにデータのブロックが使用されなくなったという情報を伝達できるようにする操作です。これにより、SSDの内部システムはウェアレベリングをより適切に管理し、将来の書き込みに備えてデバイスを準備できます。TRIMは、時間の経過に伴うデバイスのパフォーマンスと全体的な寿命に大きな影響を与える可能性があります。Linuxで継続的なTRIMを有効にすることは可能ですが、通常のファイル操作に追加のオーバーヘッドがあるため、実際にはパフォーマンスに悪影響を与える可能性があります。穏やかな代替手段は、_定期的なTRIM_を設定することです。これにより、通常のファイル操作の必要なコンポーネントとしてではなく、スケジュールに従ってドライブをトリミングするようにオペレーティングシステムが構成されます。ほとんどすべての場合、パフォーマンスを低下させることなく、継続的なTRIMと同じ利点を提供します。このガイドでは、SSDとTRIMの仕組みを簡単に説明し、さまざまなLinuxディストリビューションで定期的なTRIMを有効にする方法を示します。SSDはどのようにデータを保存しますか?TRIMが解決する問題をよりよく理解するには、SSDがデータを保存および管理する方法についていくつかのことを知ることが役立ちます。データ単位SSDのデータは、_pages_と呼ばれる固定サイズの単位で読み書きされます。同様に、ページは_blocks_と呼ばれる大きな単位にグループ化されます。読み取り、書き込み、および消去の制限SSDはページを個別に読み書きできます。ブロックレベルでのみデータを消去できます。1つの制限は、書き込みが完全に_zeroed_(すべてのビットが0に設定)されたページでのみ実行できることです。データを直接上書きすることはできません。データを変更するには、SSDが実際に古い場所から情報を読み取り、メモリ内の情報を変更してから、変更されたデータを新しいゼロページに書き込む必要があります。次に、内部テーブルを更新して、オペレーティングシステムに割り当てられている論理的な場所を、デバイス上のデータの新しい物理的な場所にマッピングします。古い場所は、別の内部テーブルで_stale_としてマークされます。使用中ではありませんが、まだゼロ化されていません。古いページを再生するには、SSDの内部ガベージコレクションプロセスがブロックから有効なページをすべて読み取り、新しいブロックに書き込む必要があります。繰り返しますが、論理的および物理的な場所をマッピングする内部テーブルが更新されます。一意のまだ使用中のデータが含まれていない古いブロックは、ゼロに設定して、将来の書き込みの準備ができているとマークすることができます。TRIMの機能SSDの内部ガベージコレクションプロセスは、ブロックの消去とウェアレベリングの管理を担当します。ファイルシステムは通常、独自のレコードでデータを再び使用可能なスペースとしてマークするだけで、データを「削除」します。それらは、基礎となるストレージからデータを実際には消去しませんが、後続の書き込みでそのデータが以前占有していた領域を上書きする可能性があります。SSDは通常、後で同じ論理的な場所に書き込むための指示をファイルシステムから受け取るまで、ページが不要であることを認識しません。ガーベッジコレクションルーチンを実行することはできません。データが削除されたとき、以前に予約されていたスペースが他のデータに使用されるようになったときだけ通知されるためです。TRIMコマンドは、使用されなくなったデータに関する情報をファイルシステムからSSDに伝達します。これにより、アイドル状態のときにデバイスが通常のガベージコレクションの役割を果たし、新しい書き込みを処理する準備ができているページがゼロになっていることを確認できます。SSDは、事前にデータをシャッフルし、古いページをクリーンアップし、一般的にデバイスを良好な動作状態に保つことができます。すべての削除でTRIMを実行するとコストがかかり、ドライブのパフォーマンスに悪影響を及ぼす可能性があります。定期的なTRIMを設定すると、各操作ではなく、定期的なスケジュールで不要なページに関するデバイスのバルク情報が提供されます。連続TRIMの無効化デバイスがマウントされたときに、デバイスで連続TRIMがすでに有効になっている場合があります。定期的なTRIMを有効にする前に、現在のマウントオプションを確認することをお勧めします。+`オプションでドライブまたはパーティションをマウントすることで有効になります。+`オプションなしでこれらのファイルシステムを所定の場所に再マウントできます。+`コマンドを再度実行した場合、結果は表示されません。+`ファイルを開いて、ファイルシステムに現在定義されているマウントオプションを確認します。これらは、ブートごとにファイルシステムをマウントする方法を決定します。0完了したら、ファイルを保存して閉じます。+`オプションなしでマウントされるようになり、以降のブートでも同じ方法でマウントされます。これで、それをサポートするすべてのファイルシステムに定期的なTRIMを設定できます。systemdディストリビューションの定期的なTRIMのセットアップsystemdを使用した最新のディストリビューション向けの定期的なTRIMの設定は、かなり簡単です。+`によって毎週実行されるスクリプトが付属しています。16.04では、次のセクションで説明するsystemdメソッドを有効にする必要はありません。スクリプトを調べたい場合は、次のように入力して確認できます。+`には、このオプションが含まれていません。その他のsystemdディストリビューション他のsystemdディストリビューションについては、定期的なTRIMを有効にすることができます。`ファイルで実行できます。+`オプションも活用します。これを書いている時点では、これは以下のディストリビューションに最適な方法です。`ユニットが利用可能です。接続されているすべての対応ドライブの毎週のTRIMをスケジュールするには、「。+」ユニットを有効にします。+`がありますが、デフォルトではsystemdにロードされていません。/etc/systemd/systemこれで、他のディストリビューションと同じようにタイマーを有効にできます。fstrim.timerサーバーは、操作をサポートするすべてのマウントされたファイルシステムを毎週1回TRIMする必要があります。+`ユーティリティが同梱されていました。これにより、安全な自動TRIM操作がはるかに困難になります。TRIMをサポートしていないドライブまたはTRIMを誤って実装するデバイスでTRIMを使用すると、危険でデータが失われる可能性があります。+`フラグはこれらのシナリオを安全に処理できますが、接続されたドライブが操作を正しくサポートしているかどうかを手動で判断しようとすると危険です。`という短いスクリプトが含まれており、これを実行しようとします。+`によって実行される毎週のスクリプトがこれを実行します。スクリプトは接続されたドライブのTRIM機能を常に正しく解釈するとは限りません。」をコンパイルすることです。+`ジョブから明示的に呼び出されるだけです。これは、次のディストリビューションに最適なオプションです。+`スクリプトの実行を無効にすることをお勧めします。ステータスを正しく検出できない可能性があるためです。/etc/cron.weekly/fstrim.bak他のディストリビューションの場合は、すぐにジャンプできます。ソフトウェアコンパイルツールをインストールするまず、必要なソフトウェア構築ツールをインストールします。UbuntuおよびDebianシステムの場合、これは次のように入力することで実行できます。build-essentialCentOSシステムの場合、次のように入力して同様のツールセットをインストールできます。+`の最新バージョンをコンパイルするために必要なビルドの依存関係ができました。+`というグループの他のツールとともにリリースされます。パッケージの最新バージョンをクリックします。+」ですが、開発が進むにつれて異なる場合があります。次のディレクトリ内で、ソフトウェアの最新のtarballを見つけます。