systemd-analyse blame: что такое dev-sda1.device?

Вопрос или проблема

Когда я запускаю systemd-analyse blame, вывод будет следующим:

          11.365s dev-sda1.device
          7.844s systemd-udevd.service
          3.603s NetworkManager.service
          2.808s keyboard-setup.service
          2.466s ModemManager.service
          2.406s accounts-daemon.service
          1.758s grub-common.service
          1.730s thermald.service
          1.469s irqbalance.service
           847ms gpu-manager.service
           813ms console-setup.service
           773ms apport.service
           702ms systemd-modules-load.service
           697ms resolvconf.service
           693ms dev-hugepages.mount
           692ms sys-kernel-debug.mount
           690ms apparmor.service
           671ms dev-mqueue.mount
           596ms systemd-tmpfiles-setup-dev.service
           594ms systemd-udev-trigger.service
           500ms systemd-journald.service
           452ms rsyslog.service
           438ms upower.service
           399ms polkitd.service
           358ms networking.service
           355ms ufw.service
           338ms avahi-daemon.service
           251ms packagekit.service
           249ms dev-disk-by\x2duuid-0830d07e\x2da7a6\x2d410b\x2da495\x2d625777b6a36e.swap
           245ms systemd-rfkill.service
           195ms systemd-logind.service
           194ms wpa_supplicant.service
           176ms kmod-static-nodes.service
           163ms udisks2.service
           162ms ondemand.service
           142ms systemd-timesyncd.service
           119ms plymouth-read-write.service
           102ms alsa-restore.service
           100ms [email protected]
            96ms [email protected]
            96ms plymouth-start.service
            87ms pppd-dns.service
            86ms systemd-journal-flush.service
            84ms systemd-tmpfiles-setup.service
            76ms systemd-update-utmp.service
            75ms systemd-tmpfiles-clean.service
            57ms snapd.autoimport.service
            56ms systemd-sysctl.service
            54ms systemd-user-sessions.service
            49ms plymouth-quit.service
            42ms snapd.socket
            40ms setvtrgb.service
            32ms systemd-remount-fs.service
            17ms rtkit-daemon.service
            16ms systemd-backlight@backlight:radeon_bl0.service
            13ms systemd-update-utmp-runlevel.service
            12ms ureadahead-stop.service
            11ms systemd-random-seed.service
             8ms sddm.service
             7ms sys-fs-fuse-connections.mount
             4ms rc-local.service
lines 35-61/61 (END)

Что такое dev-sda1.device? Какое его значение? Если я его отключу, что произойдет?

Когда я вхожу в свою Kubuntu, экран заставки (Breeze) отображается долго

введите описание изображения здесь

Согласно man systemd.device:

Файл конфигурации юнита, имя которого заканчивается на “.device”, кодирует
информацию о устройстве как часть дерева устройства, представленного в sysfs/udev(7).

Другие юниты могут использовать юниты устройств, чтобы быть доступными перед их запуском.

Скорее всего происходит следующее: у вас есть точка монтирования для /dev/sda1 в файле /etc/fstab.
Systemd будет разбирать fstab и генерировать .mount юниты для каждого элемента. Этот юнит монтирования будет иметь параметр After=dev-sda1.device, чтобы он пытался монтировать файловую систему только когда блок устройства раздела доступен.

Вы можете увидеть, какой юнит ожидает устройство, запустив:

systemctl show dev-sda1.device --property=Before

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

На самом деле, то, что монтирует диск в соответствии с fstab, чтобы ваши юниты работали, это udisks2, а dev-sdaX.device обращается к модулям Linux, таким как: PCI (видеокарты, карты захвата и т. д.), USB Wi-Fi карты, USB Bluetooth адаптеры, микрокод вашего процессора, CD-ROM и т. д.

Если вы хотите получить информацию о монтировании и чтении дисков, введите в терминале:

  • journalctl -b | grep udisks2 для udisks2, и;
  • journalctl -b | grep dev-sda1 для dev-sda1.device

Ответ или решение

dev-sda1.device — это объект, представляющий блочный устройством вашего дискового раздела /dev/sda1 в системе инициализации systemd. В этой случае, это устройство представляет собой раздел, который, скорее всего, содержит корневую файловую систему или другую важную часть вашего файлового дерева.

Важность dev-sda1.device

Когда вы запускаете систему, systemd требует, чтобы устройства были доступны, прежде чем он сможет продолжить свою работу и монтировать файловые системы, связанные с этими устройствами. В частности, dev-sda1.device необходим для инициализации монтирования раздела sda1, что критически важно для загрузки и корректного функционирования вашей системы, особенно если на этом разделе находятся важные системные файлы.

systemd создает зависимости между юнитами сервисов и устройствами, чтобы гарантировать, что сервисы не будут запускаться, пока нужные им устройства не станут доступны. Например, при загрузке, соответствующий .mount юнит, который считывает раздел sda1, будет ожидать, что dev-sda1.device будет активен, прежде чем продолжить.

Возможные причины задержки

Задержка в 11.365 секунд для dev-sda1.device может указывать на несколько проблем. Это может происходить из-за:

  1. Аппаратные проблемы: Если ваш жесткий диск или SSD имеют слабые места, это может привести к задержкам при доступе к данным.
  2. Проблемы с драйверами: Если система не может корректно загрузить драйверы для устройства, это также может замедлить процесс.
  3. Конфигурации fstab: Проверьте файл /etc/fstab на наличие ошибок, которые могут мешать корректному монтированию раздела.

Что произойдет, если вы отключите dev-sda1.device?

Если вы попытаетесь отключить или игнорировать dev-sda1.device, это приведет к тем же проблемам, которые возникают при его задержке. Конкретно, система не сможет смонтировать файловую систему на разделе sda1, что приведет к сбоям при загрузке и некорректной работе сервисов, которые ожидают наличие этой файловой системы.

Рекомендации

  1. Проверка журнала: Как упоминалось ранее, вы можете использовать команды:

    journalctl -b | grep udisks2
    journalctl -b | grep dev-sda1

    Это даст вам больше информации о том, что происходит с udisks2 при загрузке, а также поможет выявить возможные проблемы с dev-sda1.device.

  2. Проверка состояния диска: Используйте инструменты, такие как smartctl, для диагностики состояния вашего диска:

    sudo smartctl -a /dev/sda
  3. Оптимизация настройки загрузки: Если проблема не разрешится, подумайте о том, чтобы оптимизировать параметры установки системы или определить, может ли замена оборудования быть необходима.

Подводя итог, dev-sda1.device играет ключевую роль в процессе инициализации вашей системы, и его задержки могут серьезно повлиять на время загрузки, что видно из вывода команды systemd-analyse blame.

Оцените материал
Добавить комментарий

Капча загружается...