Летучий Linux с огромным разделом tmpfs и swap
Я хочу развернуть Linux на компьютерах пользователей в состоянии, при котором состояние между загрузками никогда не сохраняется (кроме состояния, явно сохраненного пользователями на внешних съемных устройствах). Образ системы будет храниться на съемном носителе только для чтения и, возможно, в сети.
На всех моих целевых компьютерах установлены SSD. Не использовать их будет бесполезно, поэтому я планирую форматировать их как огромные разделы подкачки. Воспользовавшись этим, поскольку съемный носитель или сеть работают медленнее по сравнению с дисками SSD, я подумал, что было бы неплохо загрузить (по запросу) весь образ системы в ОЗУ (как tmpfs
корневая файловая система), и пусть она воспользуется преимуществами перестановки памяти.
Проблема в том, что я могу найти только жалобы на tmpfs
и обмен производительности. Что в этом плохого? Как система может не решить, какие страницы держать на оперативной памяти или при обмене? Является tmpfs
трактуется иначе, чем остальная память? Какое снижение производительности можно ожидать от этой настройки?
1 ответ
Проблемы с tmpfs могут быть связаны с ошибкой выбора. Люди, использующие нехватку памяти, с большей вероятностью найдут и сообщат о своем использовании tmpfs.
В любом случае, только для чтения root является обычным во встроенных и живых дистрибутивах Одним из решений является overlayroot, который является оберткой вокруг overlayfs. Страница man и файл конфигурации содержат некоторую документацию для начала работы. Также смотрите такие сообщения: Защита корневой файловой системы в Ubuntu с помощью Overlayroot
Вероятно, нет необходимости загружать весь образ диска в хранилище с ОЗУ.
- Это замедлит начальную загрузку, копируя всю вещь.
- Кэширование уже существует, поэтому повторное чтение блока будет быстрым.
- Даже при холодном кеше считывание из твердотельного хранилища, вероятно, будет прилично быстрым: задержка в десятки и сотни раз ниже, чем у вращающегося носителя (оптического или магнитного).