Boot molto lento su Debian Sid

20 risposte [Ultimo contenuto]
Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

Ciao a tutti,

ho una macchina con Debian Sid che funziona benissimo. Da un paio di giorni a questa parte (non so esattamente trovare il colpevole, se un aggiornamento che ho fatto o altro), l'avvio della macchina è molto lento.

Arrivare alla schermata del login è un attimo, ma una volta inserita la password, per caricare Cinnamon ci mette anche ~2 minuti.

Spulciando in rete ho trovato il comando `systemd-analyze blame` che restituisce:

matteo@debian:~$ systemd-analyze blame
    1min 39.645s phpsessionclean.service
         16.347s NetworkManager-wait-online.service
          6.430s postgresql@10-main.service
          1.781s keyboard-setup.service
           633ms apt-daily.service
           489ms upower.service
           472ms systemd-logind.service
           409ms dev-sda1.device
           375ms apt-daily-upgrade.service
           298ms NetworkManager.service
           175ms udisks2.service
           167ms ModemManager.service
           165ms lightdm.service
           150ms systemd-rfkill.service
           146ms apache2.service
           136ms systemd-timesyncd.service
           105ms accounts-daemon.service
            97ms virtualbox.service
            93ms systemd-journald.service
            86ms bluetooth.service
            82ms rtkit-daemon.service
            74ms wpa_supplicant.service
            73ms systemd-udev-trigger.service

quindi sembra un problema legato alla connessione. Volevo chiedere se qualcun altro ha avuto un problema simile e se si può risolvere facilmente.

Grazie a tutti

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2913

Connessione? A me sembra che il colpevole sia phpsessionclean (del pacchetto php-common). Per meglio dire: questo servizio (che non so assolutamente cosa serva) è lanciato durante l'avvio e gira per un minuto e mezzo. Se fa molti accessi al disco può rallentare qualsiasi altra attività che ha bisogno di I/O. Per sapere se è questo il problema che ti affligge, al prossimo avvio aspetta senza far niente per 2 minuti prima di fare il login, in modo da lasciare il tempo a phpsessionclean di finire il suo lavoro. Se noti ancora rallentamenti, il colpevole è un altro!

Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

Grazie per la risposta. Effettivamente è come dici tu. Ho lasciato li la schermata del login per diverso tempo e poi, una volta inserita la password, l'interfaccia si carica subito.

Il colpevole, sempre peggio fra l'altro, è proprio `phpsessionclean`. In una sessione è stato li anche più di 3 minuti:

matteo@debian:~$ systemd-analyze blame
     3min 7.981s phpsessionclean.service
         16.735s NetworkManager-wait-online.service
          6.529s postgresql@10-main.service
          1.781s keyboard-setup.service

non posso disinstallare `php-common`, ho troppe librerie che ci fanno affidamento (apache, pgadmin, e tante altre). Quindi sarebbe da capire perché lui ci mette cosi tanto? Possibile che cerchi qualcosa che non trova subito? Non so, una connessione a un database su un server (sto letteralmente sparando idee a caso)

Grazie per la dritta

Ritratto di azioga
azioga
(Geek)
Offline
Geek
Iscritto: 26/02/2018
Messaggi: 55

hai dato un'occhiata al journal?

# journalctl | grep phpsessionclean

# systemctl status phpsessionclean

dice qualcosa di interessante?

hai guardato cosa esegue /lib/systemd/system/phpsessionclean.service ? eseguendolo a mano forse ottieni qualche indicazione in più

puoi sempre disabilitare il servizio con

# systemctl disable phpsessionclean

ma, premesso che non so cosa comporti(il servizio dovrebbe far pulizia di eventuali sessioni php obsolete), la terrei come ultima opzione

Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

Ciao, grazie per le dritte. Premetto che dei due comandi che mi ha dato non ne conosco niente, quindi perdonami in anticipo.

Citazione:

# journalctl | grep phpsessionclean

nada, vuoto

Citazione:

# systemctl status phpsessionclean

● phpsessionclean.service - Clean php session files
   Loaded: loaded (/lib/systemd/system/phpsessionclean.service; static; vendor preset: enabled)
   Active: inactive (dead) since Fri 2018-05-18 08:39:01 CEST; 9min ago
  Process: 11010 ExecStart=/usr/lib/php/sessionclean (code=exited, status=0/SUCCESS)
 Main PID: 11010 (code=exited, status=0/SUCCESS)

Citazione:


puoi sempre disabilitare il servizio con

# systemctl disable phpsessionclean

si ci avevo pensato, ma non avendo idea di cosa comporti, non vorrei poi avere altri problemi più pesanti.

A questo punto mi chiedevo: avrebbe senso/si può fare, lanciare `phpsessionclean` dopo il login modificando proprio `lib/systemd/system/phpsessionclean.service`? Perchè dalle ricerche che ho fatto (e di cui ho capito poco) mi pare di aver capito che questo comando viene comunque lanciato ogni 30 minuti:

matteo@debian:/lib/systemd/system$ cat phpsessionclean.timer 
[Unit]
Description=Clean PHP session files every 30 mins
 
[Timer]
OnCalendar=*-*-* *:09,39:00
Persistent=true
 
[Install]
WantedBy=timers.target

se si potesse aggiungere di lanciarlo la prima volta dopo il login, credo che il problema sarebbe risolto.

Ritratto di azioga
azioga
(Geek)
Offline
Geek
Iscritto: 26/02/2018
Messaggi: 55

il journal riporta i messaggi di systemd.

forse con

# journalctl | grep -i php

Capire perchè ci mette così tanto ci porterebbe ad una soluzione migliore.

Altrimenti puoi modificare il timer e far partire il servizio con un certo ritardo al boot aggiungendo OnBootSec=

[Timer]
# Time to wait after booting before it run for first time
OnBootSec=2m

Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

Citazione:

# journalctl | grep -i php

eccomi qui:

matteo@debian:~$ sudo journalctl | grep -i php
[sudo] password for matteo: 
May 18 07:38:59 debian kernel: acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
May 18 07:39:01 debian systemd[1]: Started Clean PHP session files every 30 mins.
May 18 07:39:01 debian systemd[1]: Starting Clean php session files...
May 18 07:42:09 debian systemd[1]: Started Clean php session files.
May 18 08:32:53 debian systemd[1]: Starting Clean php session files...
May 18 08:32:53 debian systemd[1]: Started Clean php session files.
May 18 08:39:01 debian CRON[11009]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
May 18 08:39:01 debian systemd[1]: Starting Clean php session files...
May 18 08:39:01 debian systemd[1]: Started Clean php session files.
May 18 09:09:01 debian CRON[17174]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
May 18 09:09:01 debian systemd[1]: Starting Clean php session files...
May 18 09:09:02 debian systemd[1]: Started Clean php session files.

non ci vedo niente di estremamente strano.

Citazione:

[Timer]
# Time to wait after booting before it run for first time
OnBootSec=2m

ok quindi questo comando lo farebbe partire dopo 2 minuti dall'accensione del computer, non dopo 2 minuti dal login, giusto?
In caso, farlo partire anche subito dopo aver fatto il login? È possibile?

grazie mille per la pazienza, davvero.

Ritratto di azioga
azioga
(Geek)
Offline
Geek
Iscritto: 26/02/2018
Messaggi: 55

gmat ha scritto:

ok quindi questo comando lo farebbe partire dopo 2 minuti dall'accensione del computer, non dopo 2 minuti dal login, giusto?
In caso, farlo partire anche subito dopo aver fatto il login? È possibile?

Purtroppo non l'ho mai fatto Sad

Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

ok Sad

però il comando che mi hai suggerito, che tu sappia, può avere degli effetti negativi? Se lo imposto 10 minuti dopo il Boot, potrebbe succedere qualcosa di oscenamente brutto? Sad

Ritratto di azioga
azioga
(Geek)
Offline
Geek
Iscritto: 26/02/2018
Messaggi: 55

vedo che non hai grande dimestichezza con systemd.

ma perchè usi una sid?

in teoria non dovrebbe succedere niente di particolare, ma visto che non so cosa combini quel servizio e visto la tua inesperienza, non mi sento di escludere niente.

Forse è meglio aspettare qualche altro parere.

Ritratto di gmat
gmat
(Geek)
Offline
Geek
Iscritto: 14/11/2013
Messaggi: 63

no, non una enorme dimestichezza con systemd. Uso una sid perchè, per il lavoro che faccio, ho necessità di avere diversi pacchetti aggiornati spesso e né stable né testing mi aiutano in questo senso.

la cosa che comunque mi fa strano di tutta questa faccenda è questo service sia partito letteralmente da un giorno a un altro, senza che facessi niente di particolare.

aspettiamo qualche altro guru nel frattempo.

grazie per tutte le info