Ускорение загрузки — различия между версиями
Ach (обсуждение | вклад) |
|||
Строка 9: | Строка 9: | ||
</pre> | </pre> | ||
− | Для начала построим наш график до того как что то | + | Для начала построим наш график до того, как что-то навыключали: |
<pre> | <pre> | ||
Строка 19: | Строка 19: | ||
'''Startup finished in 843ms (kernel) + 8841ms (initramfs) + 24549ms (userspace) = 34235ms''' | '''Startup finished in 843ms (kernel) + 8841ms (initramfs) + 24549ms (userspace) = 34235ms''' | ||
− | Ну с ядром мы | + | Ну с ядром мы вряд ли что-то поделаем - не пересобирать же его, а вот с остальными двумя очень даже, и так приступим. |
== Общие рекомендации == | == Общие рекомендации == | ||
Строка 30: | Строка 30: | ||
== Выкидываем лишнее из initramfs == | == Выкидываем лишнее из initramfs == | ||
− | дописываем в конец | + | дописываем в конец конфигурационного файла dracut: |
− | + | echo 'omit_dracutmodules+="i18n plymouth resume"' >> /etc/dracut.conf.d/50-dracut-rosa.conf | |
− | echo 'omit_dracutmodules+=" i18n plymouth resume"' >> /etc/dracut.conf.d/50-dracut-rosa.conf | + | |
− | + | ||
− | и перегенерим наш initrd | + | и перегенерим наш initrd: |
<pre> | <pre> | ||
− | dracut -f /boot/initrd- | + | dracut -f /boot/initrd-$(uname -r).img |
</pre> | </pre> | ||
− | |||
== Некоторые опции ядра == | == Некоторые опции ядра == | ||
Строка 66: | Строка 63: | ||
</pre> | </pre> | ||
− | А дальше отключаем кучу | + | Эффект от службы readahead проявится после нескольких (обычно 2-3) перезагрузок. |
+ | |||
+ | А дальше отключаем кучу ненужных сервисов: | ||
<pre> | <pre> | ||
systemctl disable mysqld.service | systemctl disable mysqld.service | ||
Строка 100: | Строка 99: | ||
systemctl mask avahi-daemon.service | systemctl mask avahi-daemon.service | ||
</pre> | </pre> | ||
− | Обратите внимание, что некоторые сервисы Вам могут быть необходимы. | + | |
+ | Обратите внимание, что некоторые сервисы Вам могут быть необходимы. Например, при использовании "легких" оконных сред (LXDE, XFCE) вам может понадобиться acpid. | ||
== Итог: == | == Итог: == |
Версия 16:33, 14 марта 2013
Содержание
Чем замеряем
первое, что нам потребуется - это не большая утилита, которая умеет по логам строить интересный график
systemd-analyze из пакета:
urpmi systemd-tools
Для начала построим наш график до того, как что-то навыключали:
systemd-analyze plot > ~/default.svg
Ну графике есть три довольно значимых этапа загрузки:
Startup finished in 843ms (kernel) + 8841ms (initramfs) + 24549ms (userspace) = 34235ms
Ну с ядром мы вряд ли что-то поделаем - не пересобирать же его, а вот с остальными двумя очень даже, и так приступим.
Общие рекомендации
- не используем софтрейд
- не используем разделы LVM
- отключаем и выкидываем не нужные для нашего оборудования модули и скрипты.
- отключаем не нужные сервисы
Выкидываем лишнее из initramfs
дописываем в конец конфигурационного файла dracut:
echo 'omit_dracutmodules+="i18n plymouth resume"' >> /etc/dracut.conf.d/50-dracut-rosa.conf
и перегенерим наш initrd:
dracut -f /boot/initrd-$(uname -r).img
Некоторые опции ядра
в файле /etc/default/grub находим параметр GRUB_CMDLINE_LINUX_DEFAULT и приводим его к такому виду:
GRUB_CMDLINE_LINUX_DEFAULT='splash=silent logo.nologo quiet nouveau.modeset=0 rootfstype=ext4 plymouth.enable=0'
теперь необходимо перегенерить конфиг груба:
grub2-mkconfig > /boot/grub2/grub.cfg
Ускоряем запуск userspace
Включим профилировщик:
systemctl enable systemd-readahead-collect.service systemd-readahead-replay.service systemctl start systemd-readahead-collect.service systemd-readahead-replay.service
Эффект от службы readahead проявится после нескольких (обычно 2-3) перезагрузок.
А дальше отключаем кучу ненужных сервисов:
systemctl disable mysqld.service systemctl disable polkit.service systemctl disable acpid.service systemctl disable apmd.service systemctl disable console-kit-daemon.service systemctl disable wine.service systemctl disable mdadm.service systemctl mask mdadm.service systemctl disable proc-sys-fs-binfmt_misc.mount systemctl mask proc-sys-fs-binfmt_misc.mount systemctl mask systemd-ask-password-plymouth.path systemctl mask plymouth-start.service systemctl disable laptop-mode.service systemctl disable bluetooth.service systemctl disable wpa_supplicant.service systemctl mask mandrake_everytime.service systemctl mask mysqld.service systemctl mask dev-hugepages.mount systemctl mask fedora-storage-init-late.service systemctl mask fedora-storage-init.service systemctl mask console-kit-log-system-start.service systemctl disable lm_sensors.service systemctl mask systemd-vconsole-setup.service systemctl disable rpcbind.service systemctl disable autofs.service systemctl mask partmon.service systemctl mask plymouth-read-write.service systemctl mask mandriva-save-dmesg.service systemctl disable rsyslog.service systemctl disable postfix.service systemctl mask avahi-daemon.service
Обратите внимание, что некоторые сервисы Вам могут быть необходимы. Например, при использовании "легких" оконных сред (LXDE, XFCE) вам может понадобиться acpid.
Итог:
Циферки говорят сами за себя:
Startup finished in 937ms (kernel) + 974ms (initramfs) + 2887ms (userspace) = 4800ms