Eu acredito que você tem que correr
btrfs fi defragment
depois de montar o FS com compressão.
Confira: link
Eu tenho experimentado o Btrfs com uma unidade SSD e gosto da opção de compactação que está definida no fstab.
No entanto, isso se aplica apenas aos arquivos criados depois que eu instalei o sistema operacional e modifiquei o arquivo fstab.
O que eu gostaria é aplicar a compactação a todos os arquivos no sistema, para ver se ele melhora o tempo de inicialização e os tempos de inicialização do aplicativo.
Alguém sabe de uma maneira que eu poderia aplicar a alteração a todos os arquivos pré ou pós-instalação?
Eu acredito que você tem que correr
btrfs fi defragment
depois de montar o FS com compressão.
Confira: link
Ao instalar você pode emitir um:
mount -o remount,compress=lzo
Muitas vezes você terá que fazer isso assim que o instalador começar a instalar coisas (talvez você perca um arquivo ou 2. mas não seja grande coisa). Você pode verificar se o instalador já montou o sistema de arquivos antes do estágio de instalação.
Certifique-se também de atualizar o / etc / fstab no sistema instalado. Eu uso as seguintes opções que dão algumas outras melhorias:
compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag
Você também pode tentar usar compress-force = lzo para a instalação em vez de compress = lzo , garante que até mesmo os arquivos que não compactam bem são ainda comprimido. Isso tornaria as gravações mais lentas, mas já que é uma instalação única que pode valer a pena. Mas não tenho certeza se isso melhora as leituras ou não.
Eu vi uma outra maneira que envolve renomear o binário mount.btrfs e substituí-lo por um script, mas quando eu fiz isso no Ubuntu ele bagunçou como normalmente instala os subvolumes @ e @home, mas tudo foi jogado na raiz do sistema de arquivos.
Como alternativa, você pode instalar e usar a desfragmentação, mas deve desfragmentar todos os arquivos individualmente, pois o comando não é recursivo. Isso pode ser útil para atualizar para os novos métodos de compactação que provavelmente aparecerão nas versões mais recentes do btrfs, snappy e lz4. Execute o seguinte no diretório /.
find -xdev -type f -exec btrfs fi defrag '{}' \;
Como muitas perguntas com software - as respostas mudam dependendo de QUANDO elas são perguntadas / respondidas. Estou refrescando a resposta para ajudar qualquer pessoa a pesquisar o assunto. :)
A resposta correta para o btrfs 3.12 e superior para compactar diretórios / pontos de montagem Instalação do POST (a opção recursiva necessária para desfragmentação foi adicionada com o btrfs 3.12 lançado em novembro de 2013):% btrfs filesystem defragment -c -r MOUNTPOINT
Aqui estão as opções atuais do CLI da versão 4.4 do btrfs:
desfragmentação do sistema de arquivos btrfs
uso: desfragmentação do sistema de arquivos btrfs [opções] | [| ...]
Defragment a file or a directory
-v be verbose
-r defragment files recursively
-c[zlib,lzo] compress the file while defragmenting
-f flush data to disk immediately after defragmenting
-s start defragment only from byte onward
-l len defragment only up to len bytes
-t size target extent size hint