ノートPCなどを中心に、SSDが普及して来ましたが、SSDはHDDと違い、一定のパフォーマンスを維持するには、TRIMコマンドを使って不要となった領域を開放する必要があります。
このページでは、Linuxにおいて、SSDへのTRIMコマンドを発行を有効にする方法を説明します。
まずはじめに、対象のディスクがTRIMコマンドに対応しているかを確認します。
sudo hdparm -I /dev/sda | grep -i trim
TRIMコマンドに対応していると、何がしかが表示されます。
逆に、TRIMコマンドに対応していないと、何も表示されません。
上記の例では、一つ目のドライブ(/dev/sda)に対して確認をしています。
他のドライブの対応状況を確認したい場合は「sda」の部分を適宜変更して下さい。
次に、ドライブがSSDとして認識されているかを確認します。
cat /sys/block/sda/queue/rotational
「0」と表示されれば、SSDとして認識されています。
「1」と表示された場合は、SSDではなくHDDとして認識されています。
SSDとして認識されていない場合は、TRIMコマンドは使えないので諦めて下さい。
複数のSSDをRAIDで1つの論理ドライブにした場合などでは、この値は「0」ではなく「1」を返すようです。
TRIMコマンドを有効にするには、「/etc/fstab」に以下のように記述します。
UUID=xxxx / ext4 defaults,discard 0 1 UUID=xxxx / ext4 defaults,discard 0 1
追加するのは「discard」の部分です。
上記の通り記述すると、必要に応じてTRIMコマンドが適宜発行されるようになります。
必須ではないですが、ドライブのI/Oスケジューラを「noop」に変更することにより、パフォーマンスを上げることができます。
echo 'block.sda.queue.scheduler=noop' >> /etc/sysctl.conf
「noop」は「何もしない=NO OPeration」の意味で、I/O処理は要求順に逐次実施されます。
HDDでは、読み込みと書き込みをそれぞれある程度まとめてから処理するスケジューリングが有効なのですが、SSDではその必要がないためです。
どうしても手動でTRIM処理を行いたい場合には、以下の通りにします。
fstrim -v /
上記の通りすると、ファイルシステム上で利用していないブロックに対してTRIMコマンドが発行されます。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。