Intereting Posts
Почему программы не распространяются в скомпилированном формате? Использование autofs для установки общего ресурса NFS Почему псевдоним работает иногда как nameref, а иногда нет? Загрузка без initrd Как удалить конечные пробелы в конце строки в заданных файлах (более одного)? Постоянный IP-маршрут Как установить libgnomeprint при тестировании Debian? Посмотрите, есть ли в папке несколько файлов с определенными расширениями Продвинутое программирование в Unix Envinronment 3rd, 4.21, я хочу, как rmdir обрабатывает количество ссылок apt upgrade: запустите новую оболочку, чтобы изучить ситуацию. Где? как удалить карантин из разрешений файлов в os x Скопируйте прямоугольный блок в основной выбор из сеанса экрана Как использовать OSLEC с Alsa по умолчанию, а не с Pulseaudio или другим пакетом третьей стороны? Использование процессора Shell в режиме ожидания невелико (3-6%) – откуда оно? Чистая установка Debian 8.3 отсутствует PermitRootLogin в ssh_config (не может войти в ssh root)

Почему загрузка медленная?

Я использую Fedora 23, выпуск MATE. Компьютер чувствует себя медленным для загрузки. Как я могу ускорить его?

Полная информация http://i.imgur.com/vrLGXDp.jpg

$ systemd-analyze Startup finished in 16.571s (firmware) + 2.605s (loader) + 824ms (kernel) + 1.997s (initrd) + 48.466s (userspace) = 1min 10.464s $ systemd-analyze blame 31.448s mlocate-updatedb.service 18.211s akmods.service 16.019s firewalld.service 9.127s systemd-journald.service 7.709s accounts-daemon.service 7.368s dev-sdd3.device 7.037s systemd-udev-settle.service 5.219s abrtd.service 4.854s chronyd.service 4.629s ModemManager.service 4.081s livesys.service 3.958s unbound-anchor.service 3.920s systemd-logind.service 3.823s rsyslog.service 3.781s gssproxy.service 3.780s akmods-shutdown.service 3.698s avahi-daemon.service 3.651s mcelog.service 3.636s rtkit-daemon.service 2.735s polkit.service 2.163s systemd-udevd.service 2.150s lvm2-monitor.service 1.569s proc-fs-nfsd.mount $ systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @35.395s └─lightdm.service @34.563s +830ms └─systemd-user-sessions.service @34.146s +129ms └─remote-fs.target @34.143s └─remote-fs-pre.target @34.143s └─iscsi-shutdown.service @34.128s └─network.target @34.019s └─NetworkManager.service @33.009s +1.009s └─firewalld.service @16.979s +16.019s └─polkit.service @17.870s +2.735s └─basic.target @12.883s └─sockets.target @12.864s └─dbus.socket @12.844s └─sysinit.target @12.704s └─sys-fs-fuse-connections.mount @48.351s +3ms └─system.slice └─-.slice 

Это известная проблема, описанная в Red Hat Bugzilla :

Системное отсутствие случайных функций задержки cron поражает нас. Я видел, что для этого есть запрос функции. Но до тех пор кажется, что вручную поставить случайный сон перед запуском updatedb является обходным путем . Я бы посоветовал либо вернуться к использованию cron для запуска updateb на данный момент, либо поставить случайный или определенный сон перед запуском updatedb: eg sleep 1h

Обход проблемы :

 sed 's/daily/weekly/' /usr/lib/systemd/system/mlocate-updatedb.timer >/etc/systemd/system/mlocate-updatedb.timer 

Теперь я должен терпеть медленную загрузку в понедельник.

Вместо этого я предлагаю следующее обходное решение: задержите запуск mlocate-updatedb.service в течение нескольких минут (например, 10 минут), чтобы, если он должен запускаться при загрузке системы, он запускается через некоторое время.

Следующее сделает это, и оно не будет заменено при обновлении пакета mlocate:

 mkdir /etc/systemd/system/mlocate-updatedb.service.d cat <<EOF > /etc/systemd/system/mlocate-updatedb.service.d/mlocate-updatedb.conf [Service] ExecStart= ExecStart=/bin/sleep 10m ExecStart=/usr/libexec/mlocate-run-updatedb EOF 

Это имеет то преимущество, что он должен предотвращать медленную загрузку (пока не протестирован, но он должен это сделать, а также будет постоянно обновлять локальную базу данных каждый день.

Для Fedora 23 с systemd-222-14.fc23.x86_64 (и выше): у системных таймеров теперь есть новая опция: RandomizedDelaySec, которая, кажется, обеспечивает решение этой проблемы. Поэтому добавление такой строки также должно устранить проблему : RandomizedDelaySec = 30 м

(Обратите внимание, что задержка по-прежнему является случайной, поэтому иногда она может быть очень маленькой и вызывать медленные ботинки).

Обновление: обновление oneshot в тестовый репозиторий Fedora, который, похоже, изменил тип сервиса с oneshot на simple . Это приведет к тому, что systemd не будет ждать завершения updatedb перед продолжением. Это несколько решает проблему. Тем не менее, я все же предлагаю использовать sleep или RandomizedDelaySec чтобы он не запускался во время загрузки; потому что его тяжелый IO все равно замедлит процесс загрузки.