Шаг 8 из 9 · лаба · 20 мин
Сборке не хватает памяти
Ночная сборка поискового индекса падает по памяти, а прибавить ей оперативной памяти нельзя. Дай машине swap-файл так, чтобы он пережил перезагрузку, и настрой, насколько охотно система им пользуется.
Ситуация
Каждую ночь таймер lab-build.timer запускает сборку поискового индекса сайта документации — службу
lab-build. Сборке отведено 192 МиБ оперативной памяти: остальное нужно сайту и базе. Страниц стало больше, и
уже которую ночь индекс не обновляется. Сборку можно запустить и днём: sudo systemctl start lab-build.
Прибавить сборке оперативной памяти нельзя. Решили дать машине swap: что не помещается в 192 МиБ, уйдёт на диск — сборка пойдёт медленнее, но закончится.
Задача
- Swap — файл ровно на 512 МиБ, и он включён. В swap попадает память процессов, поэтому читать и писать файл может только root (права 600).
- После перезагрузки swap включается сам, и строки swap в
/etc/fstabне дают ошибок при загрузке. - Система неохотно отправляет память в swap:
vm.swappiness= 10 сейчас и после перезагрузки, настройка записана файлом в/etc/sysctl.d. - Сборка
sudo systemctl start lab-buildпроходит — проверка запустит её сама. Юнит сборки и её лимит памяти не меняй.
Интернета на машине нет, нужные программы уже установлены.
Лаба · самостоятельно
Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.
Цели
0 из 4-
Включён swap-файл ровно на 512 МиБ, владелец root, права 600 — ещё не выполнена
-
Swap-файл записан в /etc/fstab, и строк swap на несуществующие файлы там нет — ещё не выполнена
-
vm.swappiness = 10 сейчас и после перезагрузки — из файла в /etc/sysctl.d — ещё не выполнена
-
Ночная сборка lab-build проходит в прежнем лимите памяти 192 МиБ — ещё не выполнена
Машина запускается
Подсказки
0 из 3Цели лабы
0 из 4-
Включён swap-файл ровно на 512 МиБ, владелец root, права 600 — ещё не выполнена
-
Swap-файл записан в /etc/fstab, и строк swap на несуществующие файлы там нет — ещё не выполнена
-
vm.swappiness = 10 сейчас и после перезагрузки — из файла в /etc/sysctl.d — ещё не выполнена
-
Ночная сборка lab-build проходит в прежнем лимите памяти 192 МиБ — ещё не выполнена
Цели проверяются на машине после каждой команды.