Долгая загрузка системы после установки pulseaudio.

systemd-analyze blame --user
363ms pulseaudio.service
vasek
В конце загрузки DE/WM будет наблюдаться задержка ~ 100с
Не наблюдалось

vasek
Должно быть два процесса
Один, причём дохлый
systemctl status --user pulseaudio.service
● pulseaudio.service - Sound Service
   Loaded: loaded (/home/haron/.config/systemd/user/pulseaudio.service; disabled; vendor preset: enabled)
   Active: failed (Result: protocol) since Thu 2017-03-23 18:35:25 EET; 1min 10s ago
  Process: 710 ExecStart=/usr/bin/strace -fr -o /home/haron/pulse_user.log /usr/bin/pulseaudio --daemonize=no (code=exited, status=1/FAILURE)
 Main PID: 710 (code=exited, status=1/FAILURE)

Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Main process exited, code=exited, status=1/FAILURE
Мар 23 18:35:25 arch systemd[477]: Failed to start Sound Service.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Unit entered failed state.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Failed with result 'protocol'.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Service hold-off time over, scheduling restart.
Мар 23 18:35:25 arch systemd[477]: Stopped Sound Service.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Start request repeated too quickly.
Мар 23 18:35:25 arch systemd[477]: Failed to start Sound Service.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Unit entered failed state.
Мар 23 18:35:25 arch systemd[477]: pulseaudio.service: Failed with result 'protocol'.
vasek
. перегрузка может занять ~ 90с
не было такого - ребутнулся за обычное время

vasek
cat ~/pulse_user.log | awk '{ SUM += $2 } END {print SUM}'

0.750438
vasek
Открываем лог и находим последний системный вызов open, точнее open("/run/user/1000/orcexec

712        0.000028 open("/run/user/1000/pulse/pid", O_RDWR|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = 3
712        0.000026 fcntl(3, F_GETFD)   = 0x1 (flags FD_CLOEXEC)
712        0.000017 fcntl(3, F_SETLKW, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
712        0.000032 fstat(3, {st_mode=S_IFREG|0600, st_size=4, ...}) = 0
712        0.000020 read(3, "712\n", 19) = 4
712        0.000025 read(3, "", 15)     = 0
712        0.000018 getpid()            = 712
712        0.000015 ftruncate(3, 0)     = 0
712        0.000025 unlink("/run/user/1000/pulse/pid") = 0
712        0.000022 fcntl(3, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0
712        0.000019 close(3)            = 0
vasek
Все строки, что находятся после close (закрытие открытого дескриптора — у меня 31) удаляем ...
у меня две
712        0.000146 exit_group(1)       = ?
712        0.001217 +++ exited with 1 +++
cat ~/pulse_user.log2 | awk '{ SUM += $2 } END {print SUM}'
0.749075
vasek
cat ~/pulse_user.log | grep ppoll | wc -l
10

vasek
cat ~/pulse_user.log | grep Timeout
нет таких
 cat ~/pulse_user.log | grep ppoll
714        0.000008 ppoll([{fd=13, events=POLLIN}, {fd=16, events=POLLIN|POLLERR|POLLNVAL}, {fd=14, events=POLLIN}, {fd=17, events=POLLIN|POLLERR|POLLNVAL}], 4, {tv_sec=1, tv_nsec=889747000}, NULL, 8 <unfinished ...>
778        0.000007 ppoll([{fd=20, events=POLLIN}, {fd=25, events=POLLIN|POLLERR|POLLNVAL}, {fd=21, events=POLLIN}, {fd=24, events=POLLOUT|POLLERR|POLLNVAL}], 4, {tv_sec=0, tv_nsec=989859000}, NULL, 8 <unfinished ...>
778        0.000008 <... ppoll resumed> ) = 1 ([{fd=25, revents=POLLIN}], left {tv_sec=0, tv_nsec=989856110})
778        0.000006 ppoll([{fd=20, events=POLLIN}, {fd=25, events=POLLIN|POLLERR|POLLNVAL}, {fd=25, events=POLLIN|POLLERR|POLLNVAL}, {fd=21, events=POLLIN}, {fd=24, events=POLLOUT|POLLERR|POLLNVAL}], 5, {tv_sec=0, tv_nsec=989652000}, NULL, 8 <unfinished ...>
779        0.000027 ppoll([{fd=27, events=POLLIN}, {fd=30, events=POLLIN|POLLERR|POLLNVAL}, {fd=28, events=POLLIN}, {fd=31, events=POLLIN|POLLERR|POLLNVAL}], 4, {tv_sec=1, tv_nsec=979814000}, NULL, 8 <unfinished ...>
778        0.000012 <... ppoll resumed> ) = 1 ([{fd=20, revents=POLLIN}], left {tv_sec=0, tv_nsec=968547596})
779        0.000010 <... ppoll resumed> ) = 1 ([{fd=27, revents=POLLIN}], left {tv_sec=1, tv_nsec=975890459})
714        0.000011 <... ppoll resumed> ) = 1 ([{fd=13, revents=POLLIN}], left {tv_sec=1, tv_nsec=300616887})
714        0.000095 ppoll([{fd=13, events=POLLIN}, {fd=16, events=POLLIN|POLLERR|POLLNVAL}, {fd=14, events=POLLIN}, {fd=17, events=POLLIN|POLLERR|POLLNVAL}], 4, NULL, NULL, 8 <unfinished ...>
714        0.000011 <... ppoll resumed> ) = 1 ([{fd=13, revents=POLLIN}])
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
На текущий момент так
systemd-analyze
Startup finished in 1.026s (kernel) + 916ms (initrd) + 1.921s (userspace) = 3.864s
systemd-analyze blame
          1.762s [email protected]
          1.274s dev-sdc1.device
           226ms initrd-switch-root.service
           103ms media-haron-Data.mount
            82ms lm_sensors.service
            62ms systemd-journal-flush.service
            60ms polkit.service
            59ms systemd-logind.service
            52ms media-haron-320G.mount
            51ms iptables.service
            51ms gpm.service
            50ms udisks2.service
            48ms systemd-udev-trigger.service
            41ms systemd-udevd.service
            39ms media-haron-BKP.mount
            34ms systemd-tmpfiles-setup-dev.service
            34ms dhcpcd.service
            27ms initrd-parse-etc.service
            26ms systemd-fsck-root.service
            25ms systemd-remount-fs.service
            23ms avahi-daemon.service
            21ms systemd-tmpfiles-clean.service
            21ms ntpd.service
            19ms systemd-modules-load.service
            19ms systemd-journald.service
            16ms systemd-tmpfiles-setup.service
            15ms kmod-static-nodes.service
            15ms dev-hugepages.mount
            14ms systemd-sysctl.service
            13ms alsa-restore.service
            12ms systemd-random-seed.service
            12ms [email protected]
            12ms initrd-cleanup.service
             7ms var-tmp.mount
             6ms systemd-user-sessions.service
             6ms sys-kernel-debug.mount
             6ms tmp.mount
             5ms rtkit-daemon.service
             4ms hddapm.service
             4ms systemd-update-utmp.service
             4ms dev-mqueue.mount
             2ms sys-kernel-config.mount
             2ms scratch.mount
             2ms initrd-udevadm-cleanup-db.service
systemd-analyze blame --user
          1.196s pulseaudio.service
           508ms mpd.service
           417ms psd-resync.service
           214ms gvfs-udisks2-volume-monitor.service
           177ms xdg-user-dirs-update.service
            64ms gvfs-gphoto2-volume-monitor.service
            42ms gvfs-daemon.service
            27ms at-spi-dbus-bus.service
            23ms gpg-agent.service
            15ms cache.service
            12ms gvfs-mtp-volume-monitor.service
             7ms dbus.socket
             3ms psd.service

uname -srm
Linux 4.10.5-1-zen x86_64 
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
Один, причём дохлый
А вот это мне не понятно .....
Я после загрузки, кроме status pulseaudio.service смотрел и pidof pulseaudio (был один процессс) и pstree -p | grep pulse (в этом случае было то же два процесса - strace pulseaudio и сам pulseaudio) ......
И ничего тебе сказать не могу ... должно быть два процесса ... (ну хотя бы один точно уж должен быть ...)
Писал, это все мои придумки ........ а вот верные ли они - я сам не знаю ........... может еще кто захочет поэкспериментировать ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
смотрел и pidof pulseaudio
я не смотрел
меня, по большому счёту, не слишком напрягает время загрузки пульса -
для железа, которому уже 7 лет, скорость загрузки системы, кмк, весьма достойная
systemd-analyze
Startup finished in 1.026s (kernel) + 916ms (initrd) + 1.921s (userspace) = 3.864s
пара-тройка десятых, которые получится снять, разобравшись с пульсом, уже ни на что не повлияют
я вообще этим занялся чисто из "спортивного интереса"
сейчас у меня в default.pa осталось всего три незакомментированных параметра
load-module module-udev-detect
load-module module-native-protocol-unix
load-module module-native-protocol-unix
без первых двух звука вообще нет
третий отключать не пробовал

кстати, после отключения
load-module module-filter-heuristics
load-module module-filter-apply
стало намного лучше - исчез фоновый шум, который присутствовал, когда, к примеру, прокручиваешь страницу в браузере
раньше он периодически то появлялся, то исчезал.
в общем, оставляю пока в таком состоянии - лень дальше ковырять
да и к тому же перезагружать систему туда/сюда не хочется - у меня почти три сотни раздач сейчас, так что постоянно включать/выключать их не самое оптимальное решение
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime, тебе этот анализ вообще не нужен ..... а вот за то, что проверил, спасибо ..... только не понятны косяки ...
PS ... такое впечатление, что не сработал daemon-reload ... но могу и ошибаться - это уже идет гадание ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
тебе этот анализ вообще не нужен
чисто для расширения кругозора
ну и чтобы время убить )))
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
Haron_Prime
чисто для расширения кругозора
Я из этого вынес хорошую штуку, про которую не знал - systemctl --user edit ....service и systemctl --user edit --full ...service
Ошибки не исчезают с опытом - они просто умнеют
vasek
PS ... такое впечатление, что не сработал daemon-reload
я так не думаю, иначе бы пульс запустился обычным образом и не было бы вот этого
Process: 710 ExecStart=/usr/bin/strace -fr -o /home/haron/pulse_user.log /usr/bin/pulseaudio --daemonize=no
почему не сработало так как планировалось?
ну так
vasek
это уже идет гадание ...
))))
я вчера уже писал
Haron_Prime
Пульс - вещь в себе, как и другое творение того же автора ;)
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
vasek
Я из этого вынес хорошую штуку, про которую не знал - systemctl --user edit ....service и systemctl --user edit --full ...service
тоже раньше не знал о таком способе
добавил себе в заметки
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
 
Зарегистрироваться или войдите чтобы оставить сообщение.