дефрагментация ext2

Расширенные операторы glob оболочки bash могут делать отрицание шаблона, например. [

]

$ rm -rf !(*foo*)

удаляет (рекурсивно) все каталоги верхнего уровня, не содержащие строку foo, оставляя [ ! d3]

$ tree
.
└── subdirfoo
    ├── other file
    └── somefile

1 directory, 2 files

Однако это также удалит любой расширенный glob с именами, не содержащими foo на верхнем уровне. AFAIK bash extended globs не может отличить файлы от каталогов, но zsh предоставляет квалификаторы glob, которые позволяют это, например, [

]

 % tree
.
├── foofile
├── other file
├── somefile
├── subdir
│   ├── other file
│   └── somefile
├── subdirbar
│   ├── other file
│   └── somefile
├── subdirbaz
│   ├── other file
│   └── somefile
└── subdirfoo
    ├── other file
    └── somefile

4 directories, 11 files

, затем в zsh

 % setopt EXTENDED_GLOB

 % ls -d (^(*foo*))   
other file  somefile  subdir  subdirbar  subdirbaz

, тогда как добавление классификатора каталога (/)

 % ls -d (^(*foo*))(/)
subdir  subdirbar  subdirbaz

, поэтому

[ f7]

удаляет только квалификаторы glob , имена которых не содержат строку foo, оставляя простые файлы неповрежденными.

 % tree
.
├── foofile
├── other file
├── somefile
└── subdirfoo
    ├── other file
    └── somefile

1 directory, 5 files
3
задан 24 December 2011 в 17:30

2 ответа

Я предполагаю, что вы фактически не используете ext2, а ext3 или ext4. Оба они неплохо избегают фрагментации, особенно ext4. В результате вы почти наверняка не заметите разницы после запуска e2defrag. Сколько времени это займет; что полностью зависит от того, сколько данных он должен переместить. При первом запуске это может занять некоторое время, но последующие прогоны должны быть очень быстрыми. Это, пожалуй, один из самых быстрых алгоритмов дефрагментации, хотя и небезопасный; если он прерывается посередине, вы можете поцеловать свою файловую систему.

0
ответ дан 31 July 2018 в 13:13

Каковы ваши показатели чтения / записи? Сколько вы хотите увеличить? Вероятно, вы не получите , что значительно увеличит количество дефрагментации.

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

Фрагментация - это всегда проблема, но ext2 / 3/4 зарезервировать некоторое пространство, чтобы убедиться, что они способны записывать данные за один раз, а не всегда разбросайте по нему. Вы можете проверить, сколько места зарезервировано с помощью tune2fs -l /dev/<your device> | grep -i reserve. Уменьшение зарезервированной суммы, скорее всего, приведет к фрагментации с течением времени, в то время как увеличение зарезервированной суммы, скорее всего, не поможет еще больше уменьшить фрагментацию.

Если вам нужно увеличить чтение / запись, возможно, работа над ramdrive поможет сценарии, в которых у вас слишком много данных, но много мелких файлов. Также вы можете проверить SSD-файлы, чтобы увеличить ваш r / w.

Также ссылаются на этот ответ для информации о фрагментации.

6
ответ дан 6 August 2018 в 02:30

Другие вопросы по тегам:

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