GNU/Linux >> Linux Esercitazione >  >> Linux

C'è un modo per vedere l'albero di esecuzione di systemd?

Soluzione 1:

systemd-analyze è tuo amico.Ad esempio systemd-analyze critical-chain emette un albero bloccante di demoni.Il mio per esempio:

graphical.target @20.211s
└─multi-user.target @20.211s
  └─nginx.service @19.348s +862ms
    └─network.target @19.347s
      └─NetworkManager.service @10.315s +9.031s
        └─basic.target @10.312s
          └─timers.target @10.311s
            └─systemd-tmpfiles-clean.timer @10.311s
              └─sysinit.target @10.295s
                └─systemd-update-utmp.service @10.167s +127ms
                  └─systemd-tmpfiles-setup.service @10.124s +41ms
                    └─local-fs.target @10.097s
                      └─home-entd-Downloads.mount @10.093s +2ms
                        └─home.mount @9.326s +672ms
                          └─[email protected] @8.472s +696ms
                            └─dev-sda6.device @8.471s

NetworkManager nell'esempio fondamentalmente mantiene l'intero avvio.

Se vuoi avere una visione più dettagliata puoi renderizzare l'intera catena di esecuzione in un file svg.systemd-analyze plot > something.svg emette l'intera catena (oltre 120 moduli) come barre di avanzamento in file svg ad alta risoluzione che mostrano stati, blocchi e altri problemi.

Finalmente hai systemd-analyze dot strumento che emette un file punto che emette l'intera gerarchia:systemd-analyze dot | dot -Tpng -o stuff.png con lo strumento punto puoi emetterlo anche come file ps e svg.

Tutti gli strumenti di cui sopra sono integrati nello strumento systemd-analyze che viene fornito di default con systemd almeno in archlinux. Penso che ci siano anche alcuni progetti di terze parti che se ne occupano.

Soluzione 2:

Non sono sicuro di aver compreso correttamente la domanda, ma sono disponibili visualizzazioni ad albero con i seguenti comandi :

sudo systemctl status

E anche :

sudo systemctl list-dependencies 

Spero che questo aiuti :)

Inoltre, potrebbe essere utile per altri scopi creare un albero delle cartelle dei collegamenti simbolici systemctl:

tree /etc/systemd/system

In realtà è stato davvero utile capire le unità vecchie/bacate che rallentavano l'avvio del mio sistema, per disabilitarle in seguito usando il systemctl disable comando.

MODIFICA

Detto questo, sono davvero d'accordo con l'OP sul fatto che questa funzionalità di base dovrebbe essere fornita tramite strumenti da riga di comando e non uno strumento grafico ... Cosa succede se non puoi avviare X? Come gestisci il tuo file svg allora?

In realtà, c'è un modo. Se non puoi usare scp (strumento ssh) per recuperare il file su un altro computer, fbi potrebbe davvero aiutarti :)

sudo systemd-analyze plot > /home/user/startup.svg
fbi /home/user/startup.svg

Ha lavorato nei miei TTY. Basta navigare all'interno dell'immagine con le frecce. Ci sono opzioni di zoom, per elencare fai fbi -h .

Ancora una volta spero che questo aiuti. È disponibile nei repository Archlinux e Ubuntu.

MODIFICA 2 :

fbi non funziona su ssh. Puoi eseguire l'inoltro X in questo modo ssh -Y [email protected] , ma hai bisogno di un server X in esecuzione sul tuo server remoto.

La cosa migliore qui è usare sshfs . Funziona alla grande nello spazio utente, ad esempio con nautilus. C'è una piccola configurazione da fare, vedi:

sudo vim /etc/fuse.conf #type a, uncomment the user_allow_other line and ESC :wq
sudo mkdir /mnt/yourmountingdir
sudo chown user:user /mnt/yourmountingdir
sshfs [email protected]:/home/user /mnt/yourmountingdir/ -o allow_other #Asks for host trusting and password
sudo fusermount -u /mnt/yourmountingdir/ #To disconnect and unmount

Soluzione 3:

Potrebbe ancora non rispondere completamente alla tua domanda, ma prova con --fuzz opzione

systemd-analyze critical-chain --fuzz 1h

Nota che puoi anche specificare le unitàs per vedere la loro catena critica , quindi non sei limitato al multi-user.target

systemd-analyze critical-chain network.target local-fs.target

Spero che questo aiuti


Linux
  1. Mettere il file dell'unità Systemd?

  2. systemd-analyze:comando non trovato

  3. C'è un modo per fare in modo che mv crei la directory in cui spostarsi se non esiste?

  4. C'è un modo per "uniq" per colonna?

  5. C'è un modo per copiare il testo del tooltip in Firefox?

C'è un modo per ispezionare l'attuale rpath su Linux?

C'è un modo per riavviare i badblock?

C'è un modo per fare uno screenshot nel desktop KDE premendo solo il tasto PrtSc?

Linux - C'è un modo per identificare la velocità della tua memoria attraverso il software?

C'è un modo per ascoltare il processo?

C'è un modo rapido per ottenere l'ultimo file in un TAR di grandi dimensioni?