Lange Verzögerung nach dem Booten - upower.service benötigt 26s

11

Ich versuche, die Grundursache für eine Verzögerung nach dem Booten zu ermitteln. Derzeit wird Ubuntu 16.10 LTS verwendet, aber das gleiche Problem trat bei früheren Versionen bis 14 auf.

Das System bleibt 30 Sekunden lang auf dem Anmeldebildschirm hängen. Der Mauszeiger und der Bildschirm sind vollständig eingefroren. Danach funktioniert das System normal.

Die höchste Ausgabe von systemd-analyze blameist ...

   26.653s upower.service
   6.890s NetworkManager-wait-online.service

Upower.service googeln scheint, als würden die meisten Leute weniger als 2 Sekunden sehen. Wie kann ich feststellen, warum upower.service beim Booten so lange dauert?

Vielen Dank!

Vanboom
quelle

Antworten:

1

Gehen Sie noch einen Schritt weiter, um mit systemd-analyzedem angehängten Befehl mehr Ausgabe zu sehen critical-chain. Dieser Befehl soll "einen Baum der zeitkritischen Einheitenkette drucken".

Beispielausgabe von systemd-analyzeBefehlen, die relevant sind für upower.service:

$ systemd-analyze blame | grep upower
           486ms upower.service

$ systemd-analyze critical-chain upower.service
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.

upower.service +486ms
└─basic.target @16.023s
  └─sockets.target @16.023s
    └─snapd.socket @15.921s +55ms
      └─sysinit.target @15.920s
        └─apparmor.service @6.264s +9.629s
          └─local-fs.target @6.147s
            └─run-user-108.mount @36.705s
              └─local-fs-pre.target @6.147s
                └─systemd-remount-fs.service @6.051s +93ms
                  └─system.slice @2.394s
                    └─-.slice @2.389s

Wenn die obige Ausgabe Ihnen immer noch keinen Hinweis gibt, verwenden Sie einen anderen Befehl systemctl status SERVICE, um die zugehörige Ausgabe für den Zieldienst anzuzeigen. Dieser Befehl druckt, ob der SERVICE gerade ausgeführt wird oder nicht, und druckt auch das relevante Protokoll vom letzten Start.

Beispielausgabe eines systemctlBefehls, der relevant ist für upower.service:

$ systemctl status upower.service
● upower.service - Daemon for power management
   Loaded: loaded (/lib/systemd/system/upower.service; disabled; vendor preset: 
   Active: active (running) since Wed 2016-09-21 23:33:23 MYT; 1min 35s ago
     Docs: man:upowerd(8)
 Main PID: 967 (upowerd)
    Tasks: 3 (limit: 512)
   CGroup: /system.slice/upower.service
           └─967 /usr/lib/upower/upowerd

Sep 21 23:33:22 HOSTNAME systemd[1]: Starting Daemon for power management...
Sep 21 23:33:23 HOSTNAME systemd[1]: Started Daemon for power management.

Eine einfache Überprüfung : Gibt es ein zusätzliches Gerät, das ohne ersichtlichen Grund mit Ihrem Computer verbunden bleibt? Jedes unschuldige Gerät, z. B. ein an den USB-Anschluss angeschlossenes Smartphone, kann den Startvorgang Ihres Computers verlangsamen oder sogar stören.

Das System bleibt 30 Sekunden lang auf dem Anmeldebildschirm hängen. Der Mauszeiger und der Bildschirm sind vollständig eingefroren. Danach funktioniert das System normal.

Der Änderungspunkt : Die obige Frage enthüllte nur die Symptome, die kaum etwas anderes als die Langsamkeit des Ladens des Systems aussagen.

Anstatt die Verzögerung zu beschreiben, sollten Sie sich eine der folgenden Fragen stellen:

  • Wann begann sich der Startvorgang zu verlangsamen?

  • Was hat sich kürzlich an meinem Computer geändert? Wie BIOS-Update oder Anpassung.

  • Habe ich zusätzliche Hardware installiert? Wie neuer Gerätetreiber.

  • Habe ich zusätzliche Pakete installiert oder bestimmte Pakete aktualisiert?

  • Welche Art von Hardware wird verwendet? Verursacht die Hardware Probleme?

Die Frage hatte keine dieser Informationen, was bedeutet, dass es unmöglich ist, die Grundursache für etwas zu bestimmen, das wir nicht kennen. Der Mangel an Informationen ist eine Gefahr für alle Versuche, Probleme zu lösen.

Clearkimura
quelle
0

Bearbeiten Sie Ihren /etc/journald.confund fügen Sie dauerhaften Speicher hinzu. Dadurch bleiben Ihre Protokolle aus früheren Builds erhalten.

Wenn diese Option aktiviert ist, können Sie die Protokolle früherer Starts auf den Upower-Dienst untersuchen:

journalctl -b -1 -u upower.service

Möglicherweise möchten Sie die dauerhafte Protokollierung deaktivieren, sobald Sie fertig sind, da dadurch viel Speicherplatz belegt wird.

Amias
quelle
Offensichtlich werden dadurch keine Protokolle von Booten erstellt, bevor Sie diese Option aktiviert haben. Es ist keine Zauberei.
Amias
0

Ich hatte das gleiche Problem mit upower.service, das 63 Sekunden benötigte. Da ich ein Dualboot-Setup habe und häufig wechseln muss, hat mich das wahnsinnig gemacht. Das Lesen auf der Website upower.freedesktop ergab keine Hinweise darauf, was los ist.

Ich habe es geschafft, das Problem zu lösen, wenn auch versehentlich. systemd-analyze blamegibt jetzt aus:

800ms snapd.firstboot.service
696ms wicd.service
...
250ms upower.service

Meine Startzeit ist jetzt also sehr schnell. Zuerst habe ich upower neu installiert (was nichts geändert hat). Dann habe ich die NVIDIA-Treiber neu installiert und auch Plasma neu installiert - und dies scheint das Problem gelöst zu haben. Ich hatte festgestellt, dass das Dual-Monitor-Setup zu Beginn nur langsam geladen wurde, wobei Plasma (ich verwende Kubuntu 16.04) das Setup häufig vergaß. Wenn Sie "Ubuntu Slow Boot NVIDIA" googeln, erhalten Sie ziemlich viele Treffer, und das hat mich dazu gebracht, es zu versuchen.

Ich schreibe diese Antwort in der Hoffnung, dass sie anderen helfen kann, den Erfolg zu wiederholen. Für die Neuinstallation von upower habe ich diese Anleitung befolgt: Klicken Sie auf

#re-installing nvidia drivers
sudo apt-get purge nvidia-*
sudo apt-get install nvidia-current nvidia-settings

#uninstalling plasma
sudo apt-get purge kubuntu-desktop plasma-desktop
sudo apt-get autoremove

#installing plasma    
sudo apt-add-repository ppa:kubuntu-ppa/backports
sudo apt update && sudo apt full-upgrade -y
Marts
quelle
Das OP hat nicht angegeben, ob er eine Nvidia-Karte oder Radeon oder keine hat. Und wenn Nvidia Karte hat er nicht satt, wenn er Binärdateien oder Open Source verwendet. Ich schlage vor, Ihre Antwort gilt für Ihre Plattform, die möglicherweise nichts mit seiner zu tun hat. Wenn wir ihn nur fragen, was seine Plattform ist, werden wir es sicher herausfinden.
WinEunuuchs2Unix