Estou executando o FreeBSD 11 amd64 no VirtualBox 5.1.12.
Eu habilitei o TRIM no VirtualBox ( nonrotational="true" discard="true"
):
<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="{44ac75b7-286c-4178-b8e3-db597418908f}"/>
</AttachedDevice>
<AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0"/>
</StorageController>
</StorageControllers>
E no FreeBSD:
>tunefs -p /dev/da0p3
...
tunefs: trim: (-t) enabled
...
Está funcionando bem, a imagem .VDI aumenta e diminui à medida que adiciono ou excluo arquivos dentro da VM.
Mas ativei o TRIM depois de instalar o FreeBSD, e suponho que existam blocos no sistema de arquivos que não são utilizados desde antes de ativar o TRIM.
Então, minha pergunta é - existe um comando para TRIM a partição inteira para que todos os blocos não utilizados sejam liberados?
fsck_ufs -Ey /dev/da0p3
trabalhou. Desempenho é bom (levou alguns milissegundos para executar)