Задать вопрос
syxoi
@syxoi

Почему btrfs сжимает не все?

Давно замечаю, что btrfs сжимает не все данные.
Для теста устанавливаем минимальную систему ubuntu xenial на раздел.
Чистая btrfs:
c4edde962f6b4db8a3590e68fc13efff.png
А теперь btrfs с сжатием zlib (btrfs property set /mnt compression zlib):
289b720f178146109ca0f657020d8152.png
А теперь выполним дефрагментацию (btrfs fil defrag -rvczlib /mnt) и результат просто шокирующий:
20e7fbc9a2d64b0dbfb7ce4fb93b9e19.png
По идее, сжатие работает, исходя из сравнения 1 и 2 скрина, но в то же время система как-будто пропускает сжатие некоторых файлов, потому что разница между 2 и 3 колосальна, с опцией compress-force=zlib примерна такая же лажа. И, да, занятое место df должен показывать нормально, это свободное место нельзя нормально узнать.
  • Вопрос задан
  • 455 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
TrueBers
@TrueBers
Гуглю за еду
Перед сжатием куска определённого размера происходит проба: берётся чанк много меньшего размера, чем сжимаемый, его пробуют сжать. Если коэффициент сжатия достаточно низкий, то остальной кусок не сжимается, а пишется сырым.

А свободные/занятые данные разве не показывают команды btrfs fi du / и btrfs fi df /?
Ответ написан
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Согласно принципу Дирихле не все данные сжимаются так, как нам бы хотелось, в таком случае их просто не сжимают.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы