
Недавно я обновился до Debian Jessie (текущее тестирование), и после этого среднее время загрузки увеличилось до 3-4 минут.
Между запуском grub
и gdm
запуском я получаю это сообщение в течение 2-3 минут.
A job is running for creating volatile and temporary files and directories
Вот выводsystemd-analyze blame
[smit: ~] $ systemd-analyze blame
3min 14.096s systemd-tmpfiles-setup.service
8.657s NetworkManager.service
8.244s apache2.service
7.048s ModemManager.service
6.328s networking.service
6.004s accounts-daemon.service
5.288s binfmt-support.service
4.557s systemd-logind.service
4.541s alsa-restore.service
4.541s console-kit-log-system-start.service
4.530s lm-sensors.service
4.521s pppd-dns.service
4.520s redis-server.service
4.519s hostapd.service
4.519s minissdpd.service
4.519s timidity.service
4.519s nvidia-kernel.service
4.518s rc-local.service
4.437s bluetooth.service
4.408s avahi-daemon.service
2.243s systemd-fsck-root.service
1.437s exim4.service
1.415s keyboard-setup.service
После запуска системы systemctl
никаких ошибок не выдает.
[smit: ~] $ sudo systemctl status systemd-tmpfiles-setup
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static)
Active: active (exited) since Fri 2014-10-17 01:19:09 IST; 1h 41min ago
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Process: 230 ExecStart=/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCCESS)
Main PID: 230 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/systemd-tmpfiles-setup.service
Почему systemd-tmpfiles-setup.service
запуск медленный? Где можно получить подробные логи systemd-tmpfiles-setup.service
?
решение1
Когда systemd запускает систему, одним из первых запущенных сервисных модулей является systemd-tmpfiles-setup. Этот сервис запускает команду:
# systemd-tmpfiles --create --remove
Эта команда считывает файлы конфигурации из (сначала менее важные):
- /usr/lib/tmpfiles.d/*.conf- эти файлы предоставляются соответствующим пакетом RPM и не должны редактироваться системным администратором.
- /run/tmpfiles.d/*.conf- эти файлы обычно используются демонами для управления собственными временными файлами времени выполнения.
- /etc/tmpfiles.d/*.conf- эти файлы предназначены для системных администраторов, чтобы они могли настраивать пользовательские временные расположения и переопределять значения по умолчанию, предоставленные поставщиком.
Также есть три места, где хранятся временные файлы:
- /вар- Переменные данные, характерные для этой системы, которые должны сохраняться между загрузками
- /бегать- Данные о времени выполнения для процессов, запущенных с момента последней загрузки. Сюда входят файлы идентификаторов процессов и файлы блокировки, среди прочего. Содержимое этого каталога воссоздается при перезагрузке.
- /тмп- Пространство для записи временных файлов. Файлы, к которым не обращались, которые не изменялись или не модифицировались в течение 10 дней, автоматически удаляются. Другой временный каталог существует в /var/tmp, в котором файлы, к которым не обращались, которые не изменялись или не модифицировались более 30 дней, автоматически удаляются.
Подводя итоги:
проверьте файлы конфигурации tmp, чтобы понять, почему настройка tmp занимает так много времени, особенно обратите внимание на записи в каталоге /run, поскольку он создается заново во время загрузки.
решение2
Это потому, что у Chrome Beta и Cups были проблемы, когда они создавали миллионы файлов в /tmp. Если /tmp — это tmpfs для вас, то попробуйте размонтировать его и перемонтировать. В противном случае, rm -rf /tmp, а затем пересоздайте его.
решение3
systemd-tmpfiles запускается до запуска сети, поэтому в зависимости от конфигурации возможно, что один из файлов конфигурации systemd-tmpfiles (расположенных в /usr/lib/tmpfiles.d) пытается создать каталог для пользователя или группы, которые доступны в системе только после запуска сети, например, для пользователя или группы, определенных в LDAP.
Если это так, вам следует попытаться переместить systemd-tmpfiles-setup.service в режим запуска после сети.