systemd |
您所在的位置:网站首页 › 内核和用户的执行速度 › systemd |
你是否正在使用systemd系统和服务管理器,并且Linux系统需要很长的启动时间?或者你只是想查看有关系统启动性能的报告?那么systemd-analyze可以来帮助我们来统计和分析这些性能。systemd-analyze是systemd下用于系统管理的众多实用程序之一,本文中,我们将向你展示如何使用systemd-analyze来分析Linux系统启动性能统计信息。 要大致了解系统启动时间,我们可以运行systemd-analyze命令,不带任何参数,如下所示。它将列出有关每个服务启动所需时间的信息,包括启动时内核和用户空间所花费的时间。 $ systemd-analyze Startup finished in 4.454s (kernel) + 5.155s (userspace) = 9.609s graphical.target reached after 5.144s in userspace如果要查看所有正在运行的单元的列表,并且按照它们初始化所需的时间(最长时间)排序,我们可以使用blame子命令。运行以下命令后,使用Enter查看列表中的更多服务并q退出。 $ systemd-analyze blame找出每个单元开始的时间 5.923s dev-sda1.device 5.543s dev-loop14.device 5.478s dev-loop15.device 5.121s dev-loop13.device 2.442s snapd.service 1.163s snapd.seeded.service 1.036s udisks2.service 964ms networkd-dispatcher.service 930ms fwupd.service 883ms apparmor.service 758ms ModemManager.service 677ms accounts-daemon.service 581ms systemd-udev-trigger.service 538ms systemd-journald.service 530ms NetworkManager-wait-online.service 528ms grub-common.service 514ms speech-dispatcher.service 499ms dev-loop4.device 493ms networking.service 481ms dev-loop7.device 474ms avahi-daemon.service 444ms dev-loop2.device 433ms dev-loop0.device 418ms NetworkManager.service 415ms dev-loop1.device 415ms systemd-modules-load.service 414ms dev-loop5.device 396ms dev-loop6.device 393ms dev-loop3.device 363ms dev-loop8.device 344ms systemd-random-seed.service从上面的输出中可以看到,每个单元都是基于花费的时间进行排序的,你可以简单地找出启动时哪个服务花费更长的时间并分析问题。 接下来,我们还可以使用critical-chain子命令查看默认目标的时间关键链的树或指定单元的列表,如图所示。 systemd-analyze critical-chain打印默认目标的时间关键链的树 $ systemd-analyze critical-chain 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. graphical.target @5.144s └─multi-user.target @5.144s └─snapd.seeded.service @3.980s +1.163s └─snapd.service @1.536s +2.442s └─basic.target @1.464s └─sockets.target @1.464s └─snapd.socket @1.457s +6ms └─sysinit.target @1.454s └─apparmor.service @569ms +883ms └─local-fs.target @511ms └─run-user-121.mount @2.988s └─swap.target @845ms └─swapfile.swap @364ms +319ms └─systemd-remount-fs.service @325ms +30ms └─systemd-journald.socket @283ms └─system.slice @283ms └─-.slice @279ms最后,让我们看一个更重要的子命令,该子命令可以产生已启动的系统服务的图形化(svg格式)详细信息,并在何时突出显示其初始化时间,如下所示。 确保已启用图形显示模式或x窗口以查看图。 $ systemd-analyze plot > boot.svg $ google-chrome boot.svg
systemd-analyze还可以用于从system和systemd等中查找其他状态和跟踪信息,有关更多信息,请参见其手册页。 $ man systemd-analyze |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |