Solusi 1:
systemd-analyze
adalah temanmu.Misalnya systemd-analyze critical-chain
menghasilkan pohon pemblokiran daemon. Milik saya misalnya:
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 dalam contoh pada dasarnya menahan seluruh bootup.
Jika Anda ingin memiliki tampilan yang lebih mendetail, Anda dapat merender seluruh rantai eksekusi dalam file svg.systemd-analyze plot > something.svg
menampilkan seluruh rangkaian (120+ modul) sebagai bilah progres ke file svg beresolusi tinggi yang menampilkan status, yang diblokir, dan masalah lainnya.
Akhirnya Anda memiliki systemd-analyze dot
alat yang menampilkan file dot yang menampilkan seluruh hierarki:systemd-analyze dot | dot -Tpng -o stuff.png
dengan alat titik Anda dapat menampilkannya sebagai file ps dan svg juga.
Semua alat di atas adalah alat analisis systemd bawaan yang datang secara default dengan systemd di archlinux setidaknya. Saya pikir ada beberapa proyek pihak ke-3 yang menanganinya juga.
Solusi 2:
Tidak yakin saya benar-benar memahami pertanyaannya, tetapi ada visualisasi pohon yang tersedia dengan perintah berikut :
sudo systemctl status
Dan juga :
sudo systemctl list-dependencies
Semoga ini membantu :)
Juga, mungkin berguna untuk tujuan lain untuk membuat pohon folder symlink systemctl:
tree /etc/systemd/system
Sebenarnya sangat berguna untuk mengetahui unit lama / buggy yang memperlambat startup sistem saya, untuk menonaktifkannya setelah itu menggunakan systemctl disable
perintah.
EDIT
Yang mengatakan saya sangat setuju dengan OP bahwa fungsi dasar ini harus diberikan melalui alat baris perintah, dan bukan alat grafis ... Bagaimana jika Anda tidak dapat memulai X ? Bagaimana Anda menangani file svg Anda?
Sebenarnya, ada cara. Jika Anda tidak dapat menggunakan scp
(alat ssh) untuk mengambil file Anda di komputer lain, fbi
mungkin benar-benar membantu Anda :)
sudo systemd-analyze plot > /home/user/startup.svg
fbi /home/user/startup.svg
Bekerja di TTY saya. Navigasikan saja ke dalam gambar dengan panah. Ada opsi zoom, untuk daftar lakukan fbi -h
.
Sekali lagi saya harap ini membantu. Ini tersedia di repo Archlinux dan Ubuntu.
EDIT 2 :
fbi
tidak bekerja pada ssh. Anda dapat melakukan penerusan X seperti ini ssh -Y [email protected]
, tetapi Anda memerlukan server X yang berjalan di server jarak jauh Anda.
Taruhan terbaik di sini adalah menggunakan sshfs
. Ini berfungsi BESAR di ruang pengguna, misalnya dengan nautilus. Ada sedikit konfigurasi yang harus dilakukan, lihat:
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
Solusi 3:
Mungkin masih belum sepenuhnya menjawab pertanyaan Anda, tetapi coba dengan --fuzz
opsi
systemd-analyze critical-chain --fuzz 1h
Perhatikan bahwa Anda juga dapat menentukan units untuk melihat rantai kritis mereka , jadi Anda tidak terbatas pada multi-user.target
systemd-analyze critical-chain network.target local-fs.target
Semoga ini membantu