Это старая версия документа.


Ext4 — журналируемая файловая система, используемая по умолчанию в Ubuntu, начиная с версии 9.10. При создании ФС до 1,8% объёма может быть зарезервировано под служебные нужды, в дальнейшем размер этих данных увеличиваться не будет. Как и в других ФС, используемых в Linux, регистр в именах файлов имеет значение, то есть «Документ.txt» и «документ.txt» — это разные файлы, и они без проблем могут находиться в одной директории.

Дефрагментация

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

Вопреки расхожему мнению, дефрагментатор для Ext4 есть, и не один.

  • e2fsprogs. На 14.11.2010 дефрагментатора e4defrag ещё нет в текущем стабильном релизе, но он есть в git'е.
  • Defrag. Дефрагментатор от Кона Коливаса. Случаются перерывы в разработке, но проект живой, в 2010 появился PPA-репозиторий: ppa:e2defrag/ppa.
  • Shake. Онлайн-дефрагментатор, PPA-репозиторий: ppa:un-brice/ppa.

e2fsprogs

  1. Скачаем из git и соберём:

    sudo aptitude install git
    cd /usr/src
    sudo git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
    cd e2fsprogs
    sudo ./configure
    sudo make
  2. запускаем дефрагментацию:

    cd misc
    sudo ./e4defrag /dev/<xxx>

    где <xxx> - имя раздела, например, sda4

  3. проверяем последнюю строчку вывода (должно быть ⩽0.3% non-contiguous):

    sudo fsck -n /dev/sda4

Оптимизация дискового пространства

Как вы уже заметили, на свежесозданном разделе с ext4 обычно выделяется меньше свободного дискового пространства и это становится заметным при копировании больших объемов информации. Почему это происходит? По умолчанию резервируется 5% от объема раздела при создании файловой системы на нем. Это необходимо для уменьшения фрагментации, для ведения журналирования а также некоторый объем откладывается для нужд учетной записи суперпользователя (root) и системных служб (daemons). Обычно это справедливо для системного корневого раздела, но на пользовательских разделах это не всегда приемлемо, особенно на разделах небольшого размера, например 120 ГБ; где может сказаться банальная нехватка свободного места.

Давайте исправим положение.

Уменьшим процент зарезервированных блоков для нужд суперпользователя. По умолчанию резервируется 5% от объема раздела или диска: Значение 0 отключает резервирование блоков, значение 5 - устанавливает резервирование на 5%.

sudo tune2fs -m 1

Установим процент зарезервированных блоков, например 1%. Значение 0 отключает резервирование блоков, значение 5 - устанавливает резервирование на 5%.

sudo tune2fs -r 1

Ссылки