2

Я пробовал Btrfs с SSD-накопителем, и мне понравилась опция сжатия, которая установлена в fstab.

Однако это относится только к файлам, созданным после того, как я установил операционную систему и изменил файл fstab.

Я хотел бы применить сжатие ко всем файлам в системе, чтобы увидеть, улучшает ли оно время загрузки и время запуска приложения.

Кто-нибудь знает, как я могу применить изменения ко всем файлам до или после установки?

3 ответа3

5

При установке вы можете оформить:

mount -o remount,compress=lzo

Часто вам нужно будет сделать это, как только установщик начнет установку чего-либо (возможно, вы пропустите файл или 2., но не важная персона). Вы можете проверить, установил ли установщик файловую систему непосредственно перед этапом установки.

Также убедитесь, что вы обновили /etc /fstab в установленной системе. Я использую следующие опции, которые дают некоторые другие улучшения:

compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag

Вы также можете попробовать использовать сжатие-сила = lzo для установки, а не сжатие = lzo, это гарантирует, что даже файлы, которые не сжимаются так хорошо, все еще сжимаются. Это сделает запись медленнее, но так как это однократная установка, которая может стоить того. Но я не уверен, улучшает ли это чтение или нет.

Я видел другой способ, который включает в себя переименование двоичного файла mount.btrfs и замену его скриптом, но когда я сделал это под Ubuntu, он испортился, как обычно, в subvolumes @ и @home, но все просто было сброшено в корень файловой системы. ,

В качестве альтернативы вы можете установить и затем использовать дефрагментацию, но вы должны дефрагментировать каждый файл отдельно, так как команда не является рекурсивной. Это может пригодиться для обновления до новых методов сжатия, которые могут появиться в более новых версиях btrfs, snappy и lz4. Запустите следующее из каталога /.

find -xdev -type f -exec btrfs fi defrag '{}' \;
3

Я считаю, что вы должны бежать

btrfs fi defragment

после монтажа ФС со сжатием.

Проверьте это: https://askubuntu.com/questions/129063/will-btrfs-automatics-compress-existing-files-when-compression-is-enabled

1

Как и многие вопросы с программным обеспечением - ответы меняются в зависимости от того, КОГДА их спрашивают / отвечают. Я освежаю ответ, чтобы помочь кому-нибудь погуглить свой путь в тему. :)

Правильный ответ для btrfs 3.12 и выше для сжатия директорий / точек монтирования POST (требуемая рекурсивная опция для дефрагментации была добавлена в btrfs 3.12, выпущенной в ноябре 2013 года):
btrfs filesystem defragment -c -r MOUNTPOINT

Вот текущие опции из cli версии btrfs 4.4:
Дефрагментация файловой системы btrfs
использование: дефрагментация файловой системы btrfs [опции] | [| ...]

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

BTRFS Use Case из их вики для использования рекурсивного параметра для дефрагментации каталогов / точек монтирования

BTRFS запись в журнале изменений для v3.12

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .