Файловые системы#
Нюансы выбора файловой системы и флагов монтирования#
В отличие от Windows, в Linux-подобных системах выбор файловой системы не ограничивается в обязательном порядке со стороны дистрибутива, и может применяться исходя из личных предпочтений пользователя с оглядкой на поддержку со стороны ядра.
В Linux файловые системы можно разделить на два типа:
Классические: ext4, F2FS, XFS.
Системы на базе механизма CoW (Copy-on-Write): Btrfs, Bcachefs, ZFS и другие.
Классические системы#
Эти системы как правило согласно тестам показывают более высокие скорости операций ввода-вывода (IOPS) и скорости записи/чтения, но в тоже время могут не обладать некоторым дополнительным функционалом, например сжатие "налету", возможность создания снимков, дедупликация и прочие возможности.
Файловая система ext4#
Данная система уже давно зарекомендовала себя как простое универсальное решение. Это своего рода как NTFS в Windows, и если вы не уверены какую файловую систему вам выбрать под свои задачи, то можно использовать ext4 - особо ничего не потеряете, особенно если вы начинающий пользователь.
ext4 по умолчанию используется во многих дистрибутивах Linux. Подходит как для жестких дисков (HDD), так и для SSD, хотя для последних есть варианты и получше.
Настройка внешнего журнала ext4#
Вынесение журнала файловой системы на более быстрый накопитель (желательно SSD) является безопасным и очень эффективным способом приблизиться к раскрытию потенциала жёсткого диска. Результаты простых бенчмарков ты можешь найти тут.
Размер внешнего журнала должен определяться в зависимости от предполагаемой нагрузки на диски, но, в целом, рекомендуемым значением для накопителей от 1 ТБ является 1-2 ГБ.
Для внешнего журнала необходимо создать отдельный раздел нужного размера, а после отформатировать его командой:
mke2fs -O journal_dev /dev/nvme0n1p2
После чего подключить новый журнал к существующей файловой системе:
tune2fs -J device=/dev/nvme0n1p2 /dev/sda
Оптимальные параметры монтирования для ext4#
Если вы используете внешний журнал, то оптимальными параметрами будут:
relatime,commit=300,journal_async_commit,nodelalloc,data=journal
Если же не используете, то относительно безопасным вариантом будет:
relatime,commit=300,data=ordered
В последнем параметр data=ordered
можно заменить на
data=writeback
, что отключит использование журнала вовсе, но может
вызывать потери данных или их повреждение при аварийном отключении
питания.
Подробное описание всех параметров монтирования можно найти здесь.
Внимание
Параметр commit=300
может вызывать повышенное
потребление оперативной памяти и иногда портить данные на диске.
Можете установить значение на более консервативное, например,
commit=100
.
Всех параметры монтирования нужно прописывать в файл /etc/fstab
для соответствующих разделов.
Файловая система XFS#
Высокопроизводительная файловая система, которая отлично подходит для HDD. Благодаря особенностям архитектуры данная система отлично справляется с задачами хранения различных данных. Данная система разрабатывалась в первую очередь для HDD, однако она также неплохо работает и на SSD, особенно когда дело касается баз данных.
Файловая система F2FS#
Файловая система разработанная компанией Samsung. Как уверяется специально для NAND накопителей (SSD, флешки и т.п.). Иногда может выделяться немного большими показателями IOPS и скоростью линейного чтения, но большими задержками по сравнению с той же Ext4 (от 0,5 мс и доходящих до пятикратной разницы). Поддерживает функцию сжатия "налету".
Системы CoW#
Файловые системы построенные на базе CoW (так называемое копирование при записи) примечательны тем, что они не создают полную копию данных файла при его копировании или изменении, а лишь накладывают новые блоки поверх уже существующих путём обновления метаданных, тем самым минимизируя избыточность данных хранимых на носителе. Это позволяет использовать более эффективный способ архивирования данных при помощи так называемых "снимков", когда каждая следующая архивная копия содержит в себе лишь набор изменений, произведенных по сравнению с предыдущий копией.
Также данные системы поддерживают разного рода дополнительные функции, например возможность сжатия "налету". Ценой дополнительной нагрузки на CPU можно сжимать записываемые данные на носитель, тем самым экономя место и его ресурс, что может быть особенно полезно при использовании на SSD. Однако стоит отметить, что далеко не все файлы хорошо поддаются сжатию, и зачастую при этом страдает скорость записи данных на диск, особенно при высоких уровнях сжатия.
Файловая система btrfs#
Данная файловая система выделяется большим функционалом и возможностями:
Отсутствие единой точки отказа в виде журнала файловой системы, так как Btrfs построен на базе механизма CoW, то даже в случае аварийного отключения питания это не приведёт к полному повреждению файловой системы.
Наличие подтомов (так называемый subvol), которые могут быть использованы в том числе для установки сразу нескольких дистрибутивов Linux на один и тот же раздел.
Сжатие на лету для экономии места при записи на SSD.
Возможность создания быстрых и легковесных резервных копий всей системы или отдельных её директорий при помощи так называемых снапшотов (snapshots).
Несмотря на изобилие различных возможностей, данная ФС может проигрывать другим файловым системам по скорости операций ввода-вывода (IOPS) и скорости чтения/записи в связи с использованием механизма CoW, а также из-за наличия фрагментации, что может быть критично для HDD. CoW можно отключить, однако тогда Btrfs потеряет практически весь свой функционал и становится проще использовать классические файловые системы как ext4.
По умолчанию используется во многих дистрибутивах Linux, например таких как Fedora, SteamOS (Steam Deck), CachyOS и т. д.
Оптимальные флаги монтирования#
Вот оптимальные параметры для SSD носителей. Описание каждого из них вы можете найти - здесь.
rw,relatime,compress=zstd:3,ssd_spread,max_inline=256,commit=300
Оптимальные параметры монтирования для HDD:
rw,relatime,max_inline=256,commit=300,autodefrag
Прежде всего, отметим, что вы можете изменить relatime
на
noatime
или lazytime
- все три параметра отвечают за
запоминание времени доступа к файлами и прочим связанным с ними
атрибутам.
Параметр noatime
полностью выключает данную функцию, что может
привести к некоторым багам в приложениях зависимых от времени
изменения файлов (например git), однако это встречается довольно
редко. Параметр lazytime
успешно будет выполнять все функции
времени, но выполнять их промежуточную запись в оперативной памяти,
что позволит избежать замедления без потери функционала, однако
lazytime
может иметь свои проблемы в связи с реализацией, так как
при данные могут быть утеряны при аварийных отключениях питания.
Если вы не уверены в том, какой из этих флагов вам лучше подходит, то
можете остановиться на relatime
, но флаг noatime
в большинстве
случаев для домашнего использования вполне пригоден.
Рекомендуется также минимизировать использование CoW в Btrfs для HDD
во избежание излишней фрагментации. Сделать это лучше выборочно, то
есть не используя опцию монтирования nodatacow
. Полное отключение
CoW по сути лишает Btrfs всех присущих преимуществ, а также ведет к
отключению проверки целостности файлов, что может привести к ожидаемым
поломкам или полному повреждению файловой системы. Поэтому мы должны
использовать специальный атрибут файловой системы, чтобы применение
механизма СoW только для отдельных директорий/файлов. Часто это могут
быть:
1) Директория для торрентов. Автор крайне рекомендует выполнять загрузку всех торрентов в отдельную директорию и отключать для неё CoW во избежание фрагментации:
sudo chattr -R +C ~/Torrents # Укажите свою директорию с торрентами
2) Файлам баз данных очень чувствительны к фрагментации при CoW.
Как правило все они расположены в директории /var/db
, но часть
пользовательских приложений любит их создавать в ~/.local/share
:
sudo chattr -R +C /var/db
sudo chattr -R +C ~/.local/share
3) Для образов виртуальных машин также не следует использовать CoW, иначе это приведет к обильной фрагментации.
Только учтите, что изменения не применяются к уже существующим файлам, а только к новосозданным.
Прописывать их нужно в файл /etc/fstab
для корневого и домашнего разделов.
Некоторые из данных флагов будут применяться только для новых файлов.

Внимание
При использовании Btrfs для корневого раздела, обязательно установите пакет btrfs-progs.
Сжатие в файловой системе Btrfs#
В файловой системе Btrfs есть возможность включения сжатия налету. Все записываемые файлы по возможности будут сжиматься и экономить пространство на носителе HDD или SSD.
Для SSD это может быть важно в связи с их ограниченным ресурсом на запись.
Согласно wiki Btrfs, официально поддерживается 3 алгоритма сжатия без потерь:
zlib - высокая степень сжатия, но низкая скорость сжатия и распаковки
lzo - высокая скорость сжатия и распаковки, но наименьший уровень сжатия из представленных алгоритмов
zstd - степень сжатия сравнимая с zlib и более быстрые сжатие и распаковка, однако уступающие по скорости lzo
Для включения алгоритма сжатия в файловой системе необходимо
отредактировать файл etc/fstab
, добавив для необходимого раздела с
файловой системой Btrfs следующий флаг монтирования:
compress='алгоритм':N
Где N
- степень сжатия:
Для zlib
N
может быть от 1 до 9 включительно.Для lzo - выбор уровня сжатия не предусмотрен, поэтому
:N
- не указываютсяПри использовании zstd
N
может быть от 1 до 15 включительно.
Чем больше значение N
, тем сильнее будут сжиматься данные. Конечно
при условии, что это возможно, но при этом будет повышенная нагрузка
на процессор, поскольку сжатие выполняется за счет его ресурсов.
Cогласно официальной документации Btrfs,
оптимальным значением N
по отношению степени сжатия и скорости
считается 3
.
Например, для zstd со степенью сжатия 3
запись флагов монтирования
будет выглядеть примерно следующим образом, если учесть приведенные
выше флаги монтирования:
rw,relatime,compress=zstd:3,ssd_spread,max_inline=256,commit=600
После добавления данного флага монтирования сжиматься начнут только новые файлы при записи на диск. Для сжатия уже имеющихся данных необходимо выполнить команду:
sudo btrfs filesystem defragment -calg /path
Где -calg
- алгоритм сжатия (указывается как czlib
, clzo
или czstd
в зависимости от выбранного алгоритма), path
- путь,
данные на которого требуется сжать.
Для сжатия уже существующих данных в папке или целого раздела необходимо
указать ключ -r
перед -calg
:
sudo btrfs filesystem defragment -r -calg /path
Определение эффективности сжатия#
Если вы хотите определить эффективность сжатия на вашем разделе/диске, то вам необходимо воспользоваться программой compsize. Установить ее можно с помощью команды:
sudo pacman -S compsize
Для выполнения проверки на эффективность необходимо использовать команду:
sudo compsize /path
(Где path
- путь к разделу, папке или файлу)
Пример вывода команды:

Пояснения:
- Первый столбец:
Строка TOTAL - итоговые данные, которые учитывают все сжатые и не сжатые файлы и разные алгоритмы (если такие имеются).
Строка none - данные, которые не были сжаты.
Далее отображаются все использованные алгоритмы (в данном случае - zstd).
Второй столбец показывает данные в процентах.
Третий столбец отображает фактически использованное место на диске/разделе.
Четвертый столбец показывает данные без сжатия.
Пятый - видимый размер файла, тот, который зачастую отображается в системе.
Скорость обработки алгоритма zstd на примере AMD Ryzen 7 3700X#
Для сравнения степеней сжатия алгоритма zstd использовалась бенчмарк платформа
phoronix-test-suite. В данной
программе, для проверки скорости сжатия и распаковки данных, доступно три
степени - 3
, 8
, 19
. Для получения информации о падении скорости
выполнения сжатия нам будет достаточно и первых двух, поскольку степень сжатия
19 на данный момент не поддерживается (однако данные также приведены для
ознакомления), и если обратить внимание на полученные данные, то это и не имеет
особого смысла. Далее представлены результаты замеров:



Как можно видеть из графиков, падение скорости при перехода от степени 3
к
степени 8
сопровождается падением скорости сжатия более чем в 4,7 раз
(не говоря о более высоких степенях сжатия) и практически не изменяется при
выполнении распаковки, что может негативно сказаться на скорости установки
программ и возможно в некоторых других ситуациях которые требует выполнения
записи на диск.
Стоит отметить, что в случае выполнения установки игр с использованием степени
сжатия 15
, было замечено повышение нагрузки на процессор вплоть до 72-75% в
тех случаях, когда файлы поддавались сжатию.
Список протестированных игр на эффективность сжатия (Спасибо @dewdpol!)#
Далее представлен список протестированных игр на сжатие в файловой системе Btrfs. Данные были получены с помощью программы compsize и являются округленными, поэтому информация может нести частично ознакомительный характер.
№ |
Игра |
Алгоритм |
Уровень сжатия |
Необходимое место (N) |
Используемое место(U) |
U/N |
Экономия |
---|---|---|---|---|---|---|---|
1 |
A Plague Tale: Innocence |
zstd |
3 |
41 GB |
41 GB |
99% |
182 MB |
15 |
306 MB |
||||||
2 |
A Story About My Uncle |
zstd |
3 |
1,1 GB |
1,1 GB |
94% |
63 MB |
15 |
93% |
74 MB |
|||||
3 |
Aegis Defenders |
zstd |
3 |
1,3 GB |
240 MB |
17% |
1,10 GB |
15 |
230 MB |
16% |
1,11 GB |
||||
4 |
Among Us |
zstd |
3 |
429 MB |
284 MB |
66% |
145 MB |
15 |
279 MB |
65% |
150 MB |
||||
5 |
Aragami |
zstd |
3 |
7,6 GB |
5,4 GB |
71% |
2,20 GB |
15 |
5,3 GB |
69% |
2,27 GB |
||||
6 |
Armello |
zstd |
3 |
1,6 GB |
1,5 GB |
95% |
73 MB |
15 |
94% |
83 MB |
|||||
7 |
Bastion |
zstd |
3 |
1,1 GB |
1,1 GB |
94% |
67 MB |
15 |
1,0 GB |
93% |
81 MB |
||||
8 |
BattleBlock Theater |
zstd |
3 |
1,8 GB |
1,7 GB |
93% |
117,8 MB |
15 |
118,7 MB |
||||||
9 |
Beholder |
zstd |
3 |
1,9 GB |
1,0 GB |
55% |
0,77 GB |
15 |
1,1 GB |
58% |
0,82 GB |
||||
10 |
Beholder 2 |
zstd |
3 |
2,5 GB |
2,2 GB |
85% |
385 MB |
15 |
2,1 GB |
81% |
483 MB |
||||
11 |
Blasphemous |
zstd |
3 |
854 MB |
805 MB |
94% |
48 MB |
15 |
802 MB |
93% |
51 MB |
||||
12 |
Blue Fire |
zstd |
3 |
6,0 GB |
4,9 GB |
81% |
1,10 GB |
15 |
4,7 GB |
77% |
1,30 GB |
||||
13 |
Brothers - A Tale of Two Sons |
zstd |
3 |
1,2 GB |
1,1 GB |
95% |
53 MB |
15 |
52 MB |
||||||
14 |
Castle Crashers |
zstd |
3 |
199 MB |
183 MB |
92% |
15,4 MB |
15 |
91% |
15,8 MB |
|||||
15 |
Celeste |
zstd |
3 |
1,1 GB |
897 MB |
78% |
251 MB |
15 |
871 MB |
75% |
277 MB |
||||
16 |
Child of light |
zstd |
3 |
2,3 GB |
2,3 GB |
99% |
15 MB |
15 |
9,5 MB |
||||||
17 |
Children of Morta |
zstd |
3 |
1,6 GB |
1,5 GB |
94% |
87 MB |
15 |
92 MB |
||||||
18 |
CODE VEIN |
zstd |
3 |
35 GB |
35 GB |
99% |
75 MB |
15 |
124 MB |
||||||
19 |
Cortex Command |
zstd |
3 |
97 MB |
65 MB |
67% |
32 MB |
15 |
64 MB |
66% |
33 MB |
||||
20 |
Cuphead |
zstd |
3 |
3,6 GB |
3,3 GB |
93% |
223 MB |
15 |
233 MB |
||||||
21 |
Curse of Dead Gods |
zsrd |
3 |
2,7 GB |
1,4 GB |
53% |
1,25 GB |
15 |
51% |
1,29 GB |
|||||
22 |
D-Corp |
zstd |
3 |
1,2 GB |
720 MB |
57% |
525 MB |
15 |
697 MB |
55% |
549 MB |
||||
23 |
Dark Souls: Prepare To Die Edition |
zstd |
3 |
3,7 GB |
3,7 GB |
99% |
1,57 MB |
15 |
1,61 MB |
||||||
24 |
Dark Souls III |
zstd |
3 |
24 GB |
24 GB |
99% |
0,53 MB |
15 |
0,60 MB |
||||||
25 |
Darkest Dungeon |
zstd |
3 |
3,2 GB |
2,8 GB |
88% |
394 MB |
15 |
87% |
410 MB |
|||||
26 |
Darkestville Catle |
zstd |
3 |
1,7 GB |
798 MB |
40% |
0,99 GB |
15 |
682 MB |
38% |
1,02 GB |
||||
27 |
Darksiders III |
zstd |
3 |
24 GB |
24 GB |
99% |
22 MB |
15 |
30 MB |
||||||
28 |
Dead Cells |
zstd |
3 |
1,1 GB |
1,1 GB |
97% |
24 MB |
15 |
1,0 GB |
31 MB |
|||||
29 |
Death's Door |
zstd |
3 |
3,6 GB |
2,1 GB |
58% |
1,48 GB |
15 |
57% |
1,54 GB |
|||||
30 |
Death's Gambit: Afterlife |
zstd |
3 |
1 GB |
729 MB |
66% |
367 MB |
15 |
720 MB |
65% |
376 MB |
||||
31 |
Deponia: The Complete Journey |
zstd |
3 |
9,5 GB |
9,5 GB |
99% |
24,2 MB |
15 |
25,6 MB |
||||||
32 |
Devil May Cry 5 |
zstd |
3 |
33 GB |
33 GB |
99% |
82 MB |
15 |
86 MB |
||||||
33 |
Disco Elysium |
zstd |
3 |
9,5 GB |
9,1 GB |
96% |
305 MB |
15 |
95% |
391 MB |
|||||
34 |
Don't Starve Together |
zstd |
3 |
2,5 GB |
1,8 GB |
74% |
651 MB |
15 |
73% |
679 MB |
|||||
35 |
Eldest Souls |
zstd |
3 |
1,0 GB |
720 MB |
69% |
314 MB |
15 |
708 MB |
68% |
326 MB |
||||
36 |
Evergate |
zstd |
3 |
2,9 GB |
1,9 GB |
64% |
1,01 GB |
15 |
63% |
1,03 GB |
|||||
37 |
Frostpunk |
zstd |
3 |
8,9 GB |
8,9 GB |
99% |
24 MB |
15 |
25,2 MB |
||||||
38 |
Furi |
zstd |
3 |
4,3 GB |
2,7 GB |
62% |
1,53 GB |
15 |
63% |
1,52 GB |
|||||
39 |
Gato Roboto |
zstd |
3 |
440 MB |
415 MB |
94% |
25,5 MB |
15 |
414 MB |
26,1 MB |
|||||
40 |
Gears Tactics |
zstd |
3 |
29 GB |
29 GB |
99% |
66 MB |
15 |
97 MB |
||||||
41 |
Ghost of a Tale |
zstd |
3 |
4,7 GB |
3,7 GB |
79% |
0,90 GB |
15 |
0,94 GB |
||||||
42 |
Ghostrunner |
zstd |
3 |
24 GB |
20 GB |
84% |
3,7 GB |
15 |
|||||||
43 |
Gibbous - a Cthulhu Adventure |
zstd |
3 |
9,0 GB |
4,2 GB |
47% |
4,76% |
15 |
4,1 GB |
46% |
4,87 GB |
||||
44 |
Gris |
zstd |
3 |
3,2 GB |
1,5 GB |
47% |
1,70 GB |
15 |
46% |
1,73 GB |
|||||
45 |
Hades |
zstd |
3 |
11 GB |
10 GB |
95% |
480 MB |
15 |
498 MB |
||||||
46 |
Hand of Fate |
zstd |
3 |
2,5 GB |
2,2 GB |
90% |
255 MB |
15 |
89% |
287 MB |
|||||
47 |
Hand of Fate 2 |
zstd |
3 |
4,1 GB |
4,1 GB |
99% |
35 MB |
15 |
38 MB |
||||||
48 |
Hellblade: Sanua's Sacrifice |
zstd |
3 |
18 GB |
16 GB |
87% |
2,3 GB |
15 |
18 GB |
96% |
693 MB |
||||
49 |
Helldivers |
zstd |
3 |
6,4 GB |
6,4 GB |
99% |
25 MB |
15 |
27 MB |
||||||
50 |
Hob |
zstd |
3 |
2,4 GB |
2,2 GB |
90% |
230 MB |
15 |
2,1 GB |
89% |
250 MB |
||||
51 |
Hollow Knight |
zstd |
3 |
7,5 GB |
1,5 GB |
20% |
5,87 GB |
15 |
1,4 GB |
19% |
5,98 GB |
||||
52 |
Inmost |
zstd |
3 |
1,3 GB |
649 MB |
47% |
709 MB |
15 |
638 MB |
720 MB |
|||||
53 |
Jotun |
zstd |
3 |
3,8 GB |
1,8 GB |
48% |
1,91 GB |
15 |
49% |
1,84 GB |
|||||
54 |
Journey |
zstd |
3 |
3,3 GB |
1,8 GB |
55% |
1,49 GB |
15 |
1,9 GB |
56% |
1,44 GB |
||||
55 |
Katana ZERO |
zstd |
3 |
216 MB |
178 MB |
82% |
38 MB |
15 |
177 MB |
81% |
39 MB |
||||
56 |
Kate |
zstd |
3 |
254 MB |
104 MB |
40% |
151 MB |
15 |
100 MB |
39% |
155 MB |
||||
57 |
Limbo |
zstd |
3 |
98 MB |
97 MB |
98% |
1,7 MB |
15 |
1,8 MB |
||||||
58 |
Little Nightmare |
zstd |
3 |
8,9 GB |
5,8 GB |
65% |
3,1 GB |
15 |
4,8 GB |
54% |
4,1 GB |
||||
59 |
Loop Hero |
zstd |
3 |
140 MB |
116 MB |
83% |
22,8 MB |
15 |
115 MB |
82% |
23,9 MB |
||||
60 |
Magicka |
zstd |
3 |
1,6 GB |
1,6 GB |
96% |
68 MB |
15 |
95% |
71 MB |
|||||
61 |
Magicka 2 |
zstd |
3 |
2,9 GB |
99% |
8,1 MB |
|
15 |
2,9 GB |
8,7 MB |
|||||
62 |
Mark of the Ninja: Remastered |
zstd |
3 |
7,5 GB |
6,9 GB |
92% |
564 MB |
15 |
591 MB |
||||||
63 |
Master of Anima |
zstd |
3 |
1,5 GB |
1,2 GB |
81% |
292 MB |
15 |
80% |
308 MB |
|||||
64 |
METAL GEAR RISING: REVENGEANCE |
zstd |
3 |
24 GB |
24 GB |
99% |
17,8 MB |
15 |
19,4 MB |
||||||
65 |
Moonlighter |
zstd |
3 |
1,1 GB |
577 MB |
48% |
608 MB |
15 |
572 MB |
613 MB |
|||||
66 |
Move or Die |
zstd |
3 |
666 MB |
572 MB |
85% |
94 MB |
15 |
567 MB |
99 MB |
|||||
67 |
My Friend Pedro |
zstd |
3 |
3,5 GB |
2,9 GB |
82% |
637 MB |
15 |
81% |
666 MB |
|||||
68 |
Nier:Automata |
zstd |
3 |
40 GB |
37 GB |
91% |
3,5 GB |
15 |
3,3 GB |
||||||
69 |
Nine Parchments |
zstd |
3 |
5,7 GB |
5,7 GB |
98% |
68 MB |
15 |
78 MB |
||||||
70 |
Ori and the Blind Forest: Definitive Edition |
zstd |
3 |
10 GB |
4,9 GB |
48% |
5,3 GB |
15 |
4,7 GB |
46% |
5,5 GB |
||||
71 |
Ori and the Will of the Wisps |
zstd |
3 |
11 GB |
5,5 GB |
48% |
5,8 GB |
15 |
5,3 GB |
46% |
6,1 GB |
||||
72 |
Othercide |
zstd |
3 |
6,0 GB |
5,9 GB |
98% |
94 MB |
15 |
113 MB |
||||||
73 |
Out of Line |
zstd |
3 |
1,3 GB |
497 MB |
37% |
836 MB |
15 |
476 MB |
35% |
857 MB |
||||
74 |
Outland |
zstd |
3 |
675 MB |
593 MB |
87% |
82 MB |
15 |
589 MB |
86 MB |
|||||
75 |
Overcooked! 2 |
zstd |
3 |
7,9 GB |
7,7 GB |
98% |
161 MB |
15 |
97% |
169 MB |
|||||
76 |
Papers, Please |
zstd |
3 |
58 MB |
45 MB |
77% |
13 MB |
15 |
44 MB |
76% |
13,6 MB |
||||
77 |
Path of Exile |
zstd |
3 |
27 GB |
27 GB |
99% |
27 MB |
15 |
29 MB |
||||||
78 |
Peace, Death! |
zstd |
3 |
83 MB |
76 MB |
91% |
7,2 MB |
15 |
7,5 MB |
||||||
79 |
Peace, Death! 2 |
zstd |
3 |
34 MB |
26 MB |
78% |
7,04 MB |
15 |
7,51 MB |
||||||
80 |
Pummel Party |
zstd |
3 |
2,1 GB |
1,4 GB |
67% |
712 MB |
15 |
66% |
723 MB |
|||||
81 |
Remember Me |
zstd |
3 |
6,7 GB |
6,6 GB |
99% |
57 MB |
15 |
58 MB |
||||||
82 |
Rocket League |
zstd |
3 |
18 GB |
18 GB |
99% |
20 MB |
15 |
46 MB |
||||||
83 |
RUINER |
zstd |
3 |
10 GB |
10 GB |
99% |
50 MB |
15 |
77 MB |
||||||
84 |
Salt and Sanctuary |
zstd |
3 |
563 MB |
540 MB |
95% |
23 MB |
15 |
24 MB |
||||||
85 |
Samorost 1 |
zstd |
3 |
68 MB |
68 MB |
99% |
19 KB |
15 |
23 KB |
||||||
86 |
Samorost 2 |
zstd |
3 |
141 MB |
141 MB |
99% |
1,22 MB |
15 |
140 MB |
98% |
1,33 MB |
||||
87 |
Samorost 3 |
zstd |
3 |
1,1 GB |
1,0 GB |
99% |
9,5 MB |
15 |
96% |
43 MB |
|||||
88 |
Sekiro: Shadow Die Twice |
zstd |
3 |
13 GB |
13 GB |
99% |
1,5 MB |
15 |
1,6 MB |
||||||
89 |
Severed Steel |
zstd |
3 |
4,0 GB |
2,7 GB |
68% |
1,22 GB |
15 |
67% |
1,26 GB |
|||||
90 |
Shadow Tactics: Blades of the Shogun |
zstd |
3 |
7,3 GB |
5,0 GB |
69% |
2,2 GB |
15 |
4,8 GB |
66% |
2,5 GB |
||||
91 |
Shadowrun Returns |
zstd |
3 |
2,8 GB |
1,1 GB |
39% |
1,68 GB |
15 |
1,0 GB |
37% |
1,74 GB |
||||
92 |
Shattered - Tale of the Forgotten King |
zstd |
3 |
6,3 GB |
6,3 GB |
99% |
14,7 MB |
15 |
15,7 MB |
||||||
93 |
Shiro |
zstd |
3 |
80 MB |
74 MB |
91% |
6,5 MB |
15 |
73 MB |
6,7 MB |
|||||
94 |
Skul: The Hero Slayer |
zstd |
3 |
1016 MB |
1001 MB |
98% |
14,5 MB |
15 |
987 MB |
97% |
29 MB |
||||
95 |
SpeedRunners |
zstd |
3 |
662 MB |
651 MB |
98% |
11 MB |
15 |
650 MB |
12 MB |
|||||
96 |
Spiritfarer: Farewell |
zstd |
3 |
6,0 GB |
2,3 GB |
38% |
3,60 GB |
15 |
39% |
3,58 GB |
|||||
97 |
Stoneshard: Prologue |
zstd |
3 |
289 MB |
261 MB |
90% |
27,2 MB |
15 |
260 MB |
89% |
28,4 MB |
||||
98 |
Stories: The Path of Destinies |
zstd |
3 |
1,6 GB |
1,6 GB |
99% |
13,8 MB |
15 |
14,8 MB |
||||||
99 |
Styx: Master of Shadow |
zstd |
3 |
6,7 GB |
6,6 GB |
98% |
108 MB |
15 |
114 MB |
||||||
100 |
Styx: Shards of Darkness |
zstd |
3 |
10 GB |
10 GB |
99% |
17,1 MB |
15 |
22,9 MB |
||||||
101 |
Sundered: Eldritch Edition |
zstd |
3 |
2,2 GB |
1,7 GB |
75% |
584 MB |
15 |
1,5 GB |
69% |
719 MB |
||||
102 |
SYNTHETIK |
zstd |
3 |
599 MB |
518 MB |
86% |
81 MB |
15 |
516 MB |
83 MB |
|||||
103 |
Tabletop Simulator |
zstd |
3 |
2,7 GB |
1,7GB |
65% |
0,91 GB |
15 |
63% |
0,95 GB |
|||||
104 |
The Escapists 2 |
zstd |
3 |
2,4 GB |
1,7 GB |
71% |
710 MB |
15 |
717 MB |
||||||
105 |
The Life and Suffering of Sir Brante |
zstd |
3 |
2,7 GB |
1,1 GB |
42% |
1,52 GB |
15 |
43% |
1,48 GB |
|||||
106 |
The Cave |
zstd |
3 |
1,1 GB |
1,1 GB |
98% |
22 MB |
15 |
24 MB |
||||||
107 |
The Red Solstice |
zstd |
3 |
2,7 GB |
1,4 GB |
52% |
1,31 GB |
15 |
51% |
1,34 GB |
|||||
108 |
They Always Run |
zstd |
3 |
10 GB |
4,2 GB |
39% |
6,6 GB |
15 |
3,8 GB |
34% |
7,1 GB |
||||
109 |
This War of Mine |
zstd |
3 |
2,6 GB |
2,5 GB |
98% |
34 MB |
15 |
36 MB |
||||||
110 |
Titan Souls |
zstd |
3 |
206 MB |
183 MB |
88% |
21,9 MB |
15 |
182 MB |
22,5 MB |
|||||
111 |
Transistor |
zstd |
3 |
3,0 GB |
2,7 GB |
88% |
364 MB |
15 |
87% |
384 MB |
|||||
112 |
Trine |
zstd |
3 |
1,3 GB |
1,3 GB |
97% |
41 MB |
15 |
96% |
44 MB |
|||||
113 |
Undertale |
zstd |
3 |
155 MB |
141 MB |
90% |
14,2 MB |
15 |
140 MB |
14,9 MB |
|||||
114 |
Valiant Hearts: The Great War |
zstd |
3 |
1,2 GB |
1,1 GB |
99% |
9,8 MB |
15 |
10,2 MB |
||||||
115 |
Vanquish |
zstd |
3 |
18 GB |
18 GB |
99% |
7,7 MB |
15 |
12,3 MB |
||||||
116 |
Vesper |
zstd |
3 |
2,8 GB |
998 NB |
34% |
1,88 GB |
15 |
964 MB |
32% |
1,92 GB |
||||
117 |
Void Bastards |
zstd |
3 |
5,7 GB |
2,3 GB |
40% |
3,30 GB |
15 |
41% |
3,28 GB |
|||||
118 |
Wasteland 2: Director's Cut |
zstd |
3 |
14 GB |
13 GB |
91% |
1,24 GB |
15 |
1.10 GB |
||||||
119 |
Wasteland 3 |
zstd |
3 |
26 GB |
24 GB |
91% |
2,11 GB |
15 |
23 GB |
89% |
2,71 GB |
||||
120 |
Witch It |
zsta |
3 |
4,2 GB |
4,1 GB |
98% |
85 MB |
15 |
97% |
95 MB |
|||||
121 |
Wizard of Legend |
zstd |
3 |
786 MB |
475 MB |
60% |
312 MB |
15 |
468 MB |
59% |
318 MB |
||||
Итого |
zstd |
3 |
761 GB |
666 GB |
87% |
94 GB |
|
15 |
664 GB |
97 GB |
|||||
Кэш шейдеров представленных здесь игр в Steam |
zstd |
3 |
26 GB |
25 GB |
99% |
217 MB |
|
15 |
218 MB |
Примечания:
По возможности данный список будет расширяться новыми играми и другими алгоритмами сжатия.
U/N - выраженное в процентах соотношение количества фактически занятого места к необходимому, т.е. если от 100% отнять U/N можно получить процент сэкономленного места на диске. Из чего следует, что чем меньше данный показатель, тем лучше.
Экономия рассчитывалась вручную с округлением в меньшую сторону. Другими словами, если получалось 1,3087... GB, то записывалось как 1,30 GB.
Промежуточные результаты#
64 игр из представленных 121 - практически не сжимаются, экономия места достигает всего 0-10%.
33 игр из представленных 121 - сжимаются с низкой эффективностью, экономия места составляет 11-40%.
22 игры из представленных 121 - сжимаются со средней эффективностью, экономия места составляет 41-70%.
2 игры из представленных 121 - сжимаются хорошо, экономия места составляет 71-90%.
Кэш шейдеров, который собирается и хранится на диске в Steam (при включении данной функции) сжимается незначительно - менее 1% экономии.
С учетом разницы в экономии места порядка 3 GB между максимальной доступной степенью сжатия
15
и рекомендуемой для Btrfs -3
, и значительного падения скорости выполнения сжатия, а следовательно и скорости записи на диск, можно отметить, что использование для игр степени сжатия выше3
выглядит крайне сомнительно.Во многом полученные результаты можно объяснить тем что в играх с ростом их объема все чаще могут использоваться алгоритмы сжатия, из-за чего сжатие на уровне файловой системы уже менее эффективно.
Файловая система bcachefs#
Относительно новая файловая система с использованием CoW, которую не так давно добавили в основную ветку ядра Linux в качестве экспериментальной. Активно разрабатывается, но последнее время возникает ряд разногласий между разработчиком файловой системой и разработчиками ядра.