Известно, что некоторые Linux-системы AMD64 могут не отвечать при вводе-выводе тяжелых дисков (см. Форумы Gentoo: система AMD64 работает медленно / не отвечает при доступе к диску (часть 2)), к сожалению, такой есть.
Я хочу поставить /var/tmp/portage
и /usr/portage
деревья в отдельный раздел, но какую ФС выбрать для него?
Требования:
* for journaling, performance is preffered over safe data read/write operations
* optimized to read/write 10000 of small files
Кандидаты:
* ext2 without any journaling
* BtrFS
В тестах Phoronix, BtrFS продемонстрировал хорошую производительность произвольного доступа (лучше, чем XFS, поэтому он может быть менее агрессивным для процессора). Однако операция распаковки кажется более быстрой с XFS, но было проверено, что распаковка дерева ядра в XFS заставляет мою систему реагировать медленнее на 51% без учета каких-либо процессов и / или планировщиков renice'd.
Почему нет ReiserFS? Google сделал это (q: reiserfs ext2 cpu): 1 Apr 2006 ... Surprisingly, the ReiserFS and the XFS used significantly more CPU to remove file tree (86% and 65%) when other FS used about 15% (Ext3 and ...
Сейчас то же самое?
Ext4, Btrfs, Reiser4, Reiser3 (с опцией notail). XFS не справляется с операциями, интенсивно использующими метаданные (например, с большим количеством файлов).
Вам действительно не нужно вести журнал для этих каталогов (поскольку их можно легко восстановить), поэтому независимо от того, какую файловую систему вы выберете, вы можете отключить ведение журнала.
Когда я использовал Gentoo, я использовал ReiserFS 3 для / usr / portage. Причина проста: это было довольно быстро и сэкономило много места по сравнению с другими файловыми системами, когда вы имеете дело с огромным количеством очень маленьких файлов. (использование опции «notail», конечно, устраняет это преимущество) Я заметил, что со временем производительность этой файловой системы снизится. Это связано с тем, что в / usr / portage очень часто выполняются записи / удаления, и независимо от того, какую файловую систему вы используете, через некоторое время фрагментация замедлит ее. Так что иногда я просто брал targz из / usr / portage, переформатировал раздел и снова распаковывал targz на нем ... это дает вам новый / usr / portage без фрагментации.
Я не знаю, буду ли я по-прежнему использовать ReiserFS сейчас ... Я бы, вероятно, выбрал ext4 (с отключенным журналированием) или ext2.
О / var / tmp / portage ... если у вас достаточно оперативной памяти, вы можете сопоставить ее с tmpfs. Таким образом, он будет использовать оперативную память как можно чаще, но перейдет к подкачке, когда данные не помещаются в оперативную память.
Ext2 довольно медленный по сравнению с другими ОС, у него также могут быть проблемы с очень большим количеством файлов. Я настоятельно рекомендую НЕ использовать его - ext4 с отключенным журналом - это совсем другой котел.
Лично я бы предпочел Reiserfs для файловой системы с большим количеством небольших файлов - она специально оптимизирована для такого рода операций. Но в основном я работаю с веб-серверами - где доступ преимущественно для чтения / только (я использую ext4 для db). Скорость, с которой он использует ЦП, не имеет большого значения - действительно, более высокий ЦП был бы довольно хорошим индикатором того, что для завершения операции требуется меньше фактических файловых операций ввода-вывода!
Взглянув на исходную статью - цитируемый вами комментарий относится к поведению больших файлов - я не эксперт по Gentoo, но считаю, что это не имеет отношения к portage.