Wie Sie die gesamte Partition in FreeBSD TRIMMEN, um Platz in VirtualBox zu sparen

1366
rustyx

Ich verwende FreeBSD 11 amd64 in VirtualBox 5.1.12.

Ich habe TRIM in VirtualBox ( nonrotational="true" discard="true") aktiviert :

 <StorageControllers> <StorageController name="SCSI" type="LsiLogic" PortCount="16" useHostIOCache="true" Bootable="true"> <AttachedDevice nonrotational="true" discard="true" type="HardDisk" hotpluggable="false" port="0" device="0"> <Image uuid=""/> </AttachedDevice> <AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0"/> </StorageController> </StorageControllers> 

Und in FreeBSD:

>tunefs -p /dev/da0p3 ... tunefs: trim: (-t) enabled ... 

Es funktioniert gut, das .VDI-Image wächst und schrumpft, wenn ich Dateien in der VM hinzufüge oder lösche.

Ich habe TRIM nach der Installation von FreeBSD aktiviert, und ich vermute, es gibt Blöcke im Dateisystem, die seit der Aktivierung von TRIM nicht verwendet werden.

Meine Frage ist also: Gibt es einen Befehl, die gesamte Partition zu TRIMIEREN, damit alle nicht verwendeten Blöcke freigegeben werden?

1

1 Antwort auf die Frage

2
Daniel B

Sie können verwenden fsck_ffs -E :

Löschen Sie nicht zugewiesene Blöcke und benachrichtigen Sie das zugrunde liegende Gerät, dass sie nicht verwendet werden und dass deren Inhalt möglicherweise verworfen wird. Dies ist nützlich für Dateisysteme, die auf Systemen ohne TRIM-Unterstützung oder mit deaktivierter TRIM-Unterstützung eingehängt wurden, sowie Dateisysteme, die von einem Gerät auf ein anderes kopiert wurden.

Siehe die -Eund -tFlaggen von newfs(8)und die -tFlagge tunefs(8).

Außerdem wird das Dateisystem überprüft, sodass die Leistung erheblich schlechter ist als fstrimunter Linux.

Vielen Dank!! `fsck_ufs -Ey / dev / da0p3` hat funktioniert. Leistung ist gut (es dauerte ein paar Millisekunden) rustyx vor 7 Jahren 0