Linux
April 20, 2020

Пару слов о tmpfs для некоторого ускорения работы системы

Забавно, что ковыряясь в некоторых вопросах об оптимизации Chrome (Chromium), я наткнулся на один из аспектов ускорения системы, такой как использование tmpfs.

Забавно — потому, что, в принципе, использование файловой системы tmpfs должно бы уясняться на этапе предварительной настройки, а я тут только вдруг задумался над этим вопросом...

В общем, когда на компьютере установлено не меньше гигабайта оперативной памяти (теперь реже встретишь компьютеры с меньшими объемами), то почему бы не воспользоваться свободной памятью, которая чаще всего просто простаивает и не особо используется. А использовать же, её можно, для легкого ускорения работы системы. В чем ускорение? Скорость работы ОЗУ в разы выше скорости работы жестких дисков — думаю, это сомнению не поддается...

tmpfs — это файловая система, размещающая все файлы и каталоги в оперативной памяти. Обычно, данную файловую систему используют для работы со временными файлами (например для хранения информации о PHP-сессиях и т. п.), так как после перезагрузки компьютера вся размещённая в таком разделе информация по понятным причинам будет удалена.

В принципе, первым решением будет, видимо, монтирование папки /tmp (недаром же для временных файлов придумали целую файловую систему — почему б не использовать?)

Можно, конечно и примонтировать «на лету», однако, делать этого не рекомендуется — директория при таком монтировании обнуляется, то есть существует риск падения, а нам этого не нужно ни при каких условиях 😉

Вобщем, записываем в /etc/fstab:

none /dev/shm tmpfs defaults 0 0 tmpfs /tmp tmpfs defaults 0 0

Ну а по поводу использования tmpfs для Chromium, можно также примонтировать директорию кеша браузера, для чего нужно вписать в конец файла etc/fstab:

chromium-cache /home/USER/.cache/chromium tmpfs defaults,noatime,mode=1777,size=500M 0 0

где size=500M — размер памяти, который будет выделен под раздел...

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

Ну и по аналогии можно монтировать любые папки кеша, например, папку для сборки пакетов и т. д.