Когда я запускаю 'df -ha' в своей системе для пустого раздела, он сообщает, что используется 33 МБ:
/dev/sdb2 16G 33M 16G 1% /mypartition
Еще нет файлов на разделе:
ls -lha /mypartition/
total 0
drwx------ 2 root root 6 Feb 16 21:09 .
drwxr-xr-x 5 root root 57 Feb 17 06:26 ..
Что могло быть причиной того, что df сообщал о том, что какое-то пространство использовалось?
Это совершенно нормально. Когда мы создаем файловую систему (скажем, ext4), она создает много накладных расходов до того, как будут созданы какие-либо файлы. Это Зарезервированное пространство и служит целям, чтобы снизить вероятность фрагментации и оставить место для fsck, в основном для корень пользователь, чтобы убедиться, что службы, использующие файлы на этом разделе, не могут быть исключены из-за отсутствия места местный пользователь заполняет все пространство. Разные файловые системы резервируют разное пространство.
форма man tune2fs
-m зарезервировано-блоков-процент
Set the percentage of the filesystem which may only be allocated by privileged processes. Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesys‐ tem fragmentation, and to allow system daemons, such as sys‐ logd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. Nor‐ mally, the default percentage of reserved blocks is 5%.
Поэтому, когда вы создаете файловую систему, по умолчанию зарезервировано 5% блоков. Вы можете настроить этот резервный блок в соответствии с вашими потребностями во время создания файловой системы. mkfs.ext4 -m <X> /dev/sdaX
. Вы также можете настроить это значение после создания файловой системы с помощью tune2fs -m <X> </dev/sdaX>
команда.
Например, если вы хотите удалить зарезервированные блоки:
tune2fs -m 0 /dev/sdaX
Я настоятельно не рекомендую использовать -m 0. Зарезервированное пространство есть не просто так. Даже без зарезервированных блоков (-m 0) всегда есть часть пространства, используемого для внутреннего управления файловой системой.
Кроме того, накладные расходы возникают из-за таблиц индексных дескрипторов, и они полностью зависят от того, сколько индексов вы выделяете в файловой системе. Размер inode по умолчанию составляет 256 байт.
И нет возможности подтвердить это в CLI. Что вы можете сделать, так это создать разные файловые системы с разным размером и зарезервированным пространством в разных дистрибутивах Linux и сравнить результат.
Чтобы подтвердить, что зарезервированное пространство предназначено только для пользователя root