SSD での TRIM コマンド
TRIM は、ATA(高度技術命令)コマンドの 1 つです。OS が SSD 上の データブロックをもう二度と使用しないと判断する場合、データブロックの完全消去を行います。この TRIM コマンドによって、SSD のコントローラーがもっと効率的に SSD の利用可能なスペースを管理することが可能になります。結果として TRIM コマンドは SSD の性能を上げ、使用寿命を延長することができます。
macOS における TRIM
macOS 環境では、TRIM コマンドは Apple 社製の内蔵 SSD にしか有効ではありません。また macOSは、デバイスの接続時やシステムの再起動時など、ファイルシステムが OS によって検出されたときに TRIM が実行されます。つまり Apple 社は Windows や Linux 環境にあるような、手動の TRIM ツールは提供していません。
しかし、上級レベルのユーザーであれば Apple APFS フォーマットのパーティションの USB 接続外部 SSD に対しても TRIM を実行することができます。
macOS で TRIM を有効にする
- ターミナル(Finder/アプリケーション/ユーティリティ/ターミナル)を開き、以下のコマンドを実行します。このコマンドを実行するには管理者権限が必要で、続行するにはパスワードを入力する必要があります。 sudo trimforce --enable
- 長い警告が表示されますので、よく読んで内容を理解してから先に進んでください。続行する場合は「Y」を、キャンセルする場合は「N」を入力します。
- TRIM を無効にするには、次のコマンドを実行します。 sudo trimforce --disable
macOS で TRIM を確認する
macOSには、TRIM コマンドを手動で実行する機能はなく、サポートされたドライブとサポートされたファイルシステムがオペレーティングシステムによって検出されたときに実行される仕組みになっています。 SSD ドライブで TRIM が実行されていることを確認するには、次のようにします。
- ターミナル(Finder/アプリケーション/ユーティリティ/ターミナル)を開き、以下のコマンドを実行します。 log show --start $(date +%F) | grep -i spaceman_trim_free_blocks
- 表示までに時間がかかることがあります。全体を容易に確認するために、ターミナルウィンドウを全画面にしておくことをお勧めします。
- 各出力行は、実施日に TRIM されたファイルシステムを表しています。以下に例を示します。
2021-08-13 07:16:07.556498-0700 0x2b2d Default 0x0 0 0 kernel: (apfs) spaceman_trim_free_blocks:3371: disk3 scan took 0.000614 s, trims took 0.000000 s
- 上記の例では、特定のドライブは「disk3」です。下記のコマンドの出力と比較して、disk3 が外付けドライブと一致することを確認します。 diskutil list
/dev/disk3 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +160.0 GB disk3
Physical Store disk2s2
1: APFS Volume Intel160 774.1 KB disk3s1