| В начало → Тюнинг Gentoo → Ускорение загрузки системы |
![]() |
Ссылка на оригинал: http://ru.gentoo-wiki.com/Ускорение загрузки системы
Перенесено в: 1.5
Одно из достоинств Gentoo Linux - это возможность настроить и оптимизировать буквально ВСЮ систему, в том числе и её загрузку. Данное направление оптимизации практически неисчерпаемо. При желании (но и при большом риске убить систему) загрузку можно довести и до нескольких секунд. Здесь же мы рассмотрим некоторые наиболее простые и безопасные методы ускорения загрузки.
Первое, что может дать заметный прирост скорости загрузки, это распараллеливание запуска системных сервисов. В файле /etc/conf.d/rc замените NO на YES в переменной RC_PARALLEL_STARTUP.
Если у вас нет такой переменной, обновите пакет baselayout emerge -u baselayout.
Если эта настройка создаст проблемы при загрузке (некоторые сервисы могут пытаться загрузиться не тогда, когда это нужно),
то верните значение NO.
Значительно был улучшен механизм параллельного запуска в новых (нестабильных) версиях baselayout echo "sys-apps/baselayout ~x86" >> /etc/portage/package.keywords emerge sync && emerge sys-apps/baselayout -u
Для совсем реактивного запуска используйте initng
#emerge sys-apps/initng
Если вы часто работаете без подключения к локальной сети, то наверняка заметили, как много времени уходит на определение настроек сети (точнее, на определение того, что настраивать нечего). В этом случае поможет демон ifplugd, который определяет, подключен ли сетевой кабель (точнее, активна ли сеть). Итак:
#emerge -n ifplugd
теперь добавляем ifplugd в список запускаемых сервисов:
#rc-update add ifplugd boot
Каждый раз при загрузке Gentoo обновляет зависимости модулей и переменные окружения, разумеется, что это имеет смысл лишь тогда, когда вы действительно внесли изменения в вашу систему. Чтобы это осуществить, сделаем следующие изменения.
Меняем:
Листинг 9. Файл: /etc/init.d/modules - оригинал
...
ebegin "Calculating module dependencies"
/sbin/modules-update &>/dev/null
eend $? "Failed to calculate dependencies"
...
Листинг 10. Файл: /etc/init.d/modules - замена
...
if [ /etc/modules.d -nt /etc/modules.conf ]
then
ebegin "Calculating module dependencies"
/sbin/modules-update &>/dev/null
eend $? "Failed to calculate dependencies"
else
einfo "Module dependencies are up-to-date"
fi
...
Меняем:
Листинг 11. Файл: /etc/init.d/bootmisc - оригинал
...
if [ -x /sbin/env-update.sh ]
then
ebegin "Updating environment"
/sbin/env-update.sh >/dev/null
eend 0
fi
...
Листинг 12. Файл: /etc/init.d/bootmisc - замена
...
if [ -x /sbin/env-update.sh ]
then
if [ /etc/env.d -nt /etc/profile.env ]
then
ebegin "Updating environment"
/sbin/env-update.sh >/dev/null
eend 0
else
einfo "Environment up-to-date"
fi
fi
...
При использовании данного трюка следует быть внимательным при обновлении baselayout, т.к. обновление каждый раз будет пытаться вернуть изменения, сделанные вами.
Можно подправить сервис localmount, чтобы он монтировал локальные файловые системы не одну за другой, а все сразу.
Замените:
| В начало → Тюнинг Gentoo → Ускорение загрузки системы |