Ускорение файловой системы

Материал из Wiki AlterOS
Версия от 15:47, 17 января 2023; Dereviannykh.vo (обсуждение | вклад) (Новая страница: «==Общая информация== Файловая система в Linux в ущерб производительности настроена на безоп…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Общая информация

Файловая система в Linux в ущерб производительности настроена на безопасность и сохранность данных, однако, если вам необходимо ускорить работу файловой системы, и вы осознаете весь риск производимых манипуляций, то имеются механизмы позволяющие это сделать. Данные настройки рекомендуются для систем с ИБП или встроенными батареями.

Изменения настроек в файле /etc/fstab

  • noatime, nodiratime – отключение записи времени последнего доступа для файлов и дерикторий.

Для ядра версии больше 4.0 имеется возможность указать опцию lazytime. ctime - обновляется при обновлении атрибутов файла, таких как смена владельца, или при перемещении файла в другую ФС. mtime - обновляется при изменении содержимого файла. atime - обновляется при доступе к файлу, при его открытии или операциях типа grep, sort, cat, head, tail и другие. Как видно из описание, atime превращает каждое чтение файла в запись. Полное atime может вызывать неправильную работу некоторых приложений, например почтовый клиент может неверно перечитывать хранилище для почтового ящика. Именно поэтому рекомендуется указывать опцию lazytime.

  • commit – время между сохранением буферов диск. Значение по умолчанию 5. Можно выставить значение в несколько десятков или сотен секунд.
  • barrier=0 - отключение системы «шлакбаумов», блокирующих запись блоков посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. Система шлакбаумов гарантрует, что вся информация о транзакции помещенная в журнал, будет записана на диск перед тем как создана запись фиксации.
  • data=writeback - отключение журналирования данных. При неожиданной перезагрузке системы это может приводить к потере данных в обновляемых файлах, но в тоже время опеспечивает максимальную производительность файловой системы. По умолчанию применен ежим data=ordered т.е. файловая система журналирует только метаданные, данные и метаданные группируются в один модуль - транзакцию. Этот режим, хотя без гарантии, защищает данные при неожиданной перезагрузке.

Отключение ведения журналов событий

В конфигурационном файле /etc/rsyslog.conf можно отключить все или только некоторые журналы событий. Доля отключения необходимо дописать знак минус (-) перед путем к файлу журнала.

Управление поведением swap

Для машин с малым количеством оперативной памяти часты случаи использования swap для хранения данных не влезающих в оперативную память, однако изначально перемещение из оперативной памяти в swap начинается при достижении некоторого значения свободного местав в оперативной памяти. Это значение можно узнать командой:

 #cat /proc/sys/vm/swappiness

Для увеличения производительности выгоднее было бы использовать больше оперативной памяти и начнать позже сохранять данные в swap, для этого можно изменить vm.swappiness до 10, в этом случае использвоание swap начнется при заполнении 90% оперативной памяти. Для изменение настроек из терминала выполним команду:

 sudo nano /etc/sysctl.conf

и добавил в конец файла следующую строку:

 vm.swappiness = 10

Сохраняем изменени и перезагружаем компьютер.

Перенос каталога /tmp в tmpfs

Помещение /tmp в tmpfs - довольно тривиальная операция. Откройте /etc/fstab в вашем любимом редакторе и укажите, что вы хотите, чтобы /tmp был в tmpfs дописав строку:

 tmpfs /tmp tmpfs size=512m 0 0

Size=512m указывает на максимальный размер файловой системы. Вам придется выбрать размер, который соответствует вашим потребностям, например 128мб подойдет большинству нетребовательных пользователей. Эта память не выделяется сразу, она динамически увеличивается в соответствии с объемом данных в /tmp.

Заключение

Важно понимать, что для нет волшебных настроек, позволяющих укорить операционную систему на любом компьютере. Есть лишь небольшие "винтики", через которые можно получить прирост быстродействия. Если ваша платформа устарела, выходом будет отключения всего ненужного или компромисного, с чем вы готовы растаться в угоду производительности.