日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux啟動(dòng)性能分析

用 systemd-analyze 洞悉并解決 linux 啟動(dòng)性能問題。

創(chuàng)新互聯(lián)建站一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計(jì)、微信小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、手機(jī)APP定制開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!

系統(tǒng)管理員的一部分工作就是分析系統(tǒng)性能,發(fā)現(xiàn)并解決引起性能不佳、啟動(dòng)時(shí)間長的問題。系統(tǒng)管理員也需要去檢查 systemd 的配置和使用的其它方面。

systemd 初始化系統(tǒng)提供了 systemd-analyze 工具,可以幫助發(fā)現(xiàn)性能問題和其他重要的 systemd 信息。在以前的文章《分析 systemd 日歷和時(shí)間跨度》里,我用了 systemd-analyze 去分析 systemd 里的時(shí)間戳和時(shí)間跨度,但是這個(gè)工具還有很多其他用法,這個(gè)文章里我將再揭示一些。

(LCTT 譯注:systemd 是目前主流 Linux 發(fā)行版采用的系統(tǒng)管理系統(tǒng))

(LCTT 譯注:為了區(qū)分英文的 “boot” 和 “startup” 的不同涵義,此處將 “boot” 翻譯為“引導(dǎo)”,“startup” 翻譯為“啟動(dòng)”。)

概述啟動(dòng)

Linux 啟動(dòng)過程是值得學(xué)習(xí)關(guān)注的地方,因?yàn)?nbsp;systemd-analyze 工具很多功能聚焦在啟動(dòng)startup過程。但是首先,要理解引導(dǎo)boot和啟動(dòng)startup。引導(dǎo)階段從 BIOS 加電自檢(POST)開始,結(jié)束于內(nèi)核完成加載并控制主機(jī)系統(tǒng),然后是開始了啟動(dòng)過程,也是 systemd 日志的開始點(diǎn)。

這個(gè)系列的第二篇文章《理解 Linux 啟動(dòng)時(shí)的 systemd》中,我詳細(xì)討論了啟動(dòng)階段的內(nèi)容和過程。在這篇文章里,我想研究一下啟動(dòng)過程,看看需要多少時(shí)間和大部分時(shí)間花費(fèi)在哪里。

下面我將展示的結(jié)果來自我的主要工作站,這比虛擬機(jī)的結(jié)果要有趣得多。這個(gè)工作站包括一塊 華碩 TUF X299 Mark 2 主板、一個(gè)英特爾 i9-7960X CPU(16 核 32 線程),64 G 內(nèi)存。下面的一些命令非 root 用戶也可以使用,但是我在這篇文章里使用了 root 用戶,以避免在用戶之間切換。

檢查啟動(dòng)過程有幾種方法,最簡單的 systemd-analyze 命令顯示了啟動(dòng)的幾個(gè)主要部分耗費(fèi)的時(shí)間,包括內(nèi)核啟動(dòng)、裝載運(yùn)行 initrd(即初始 ramdisk,這是一個(gè)用來初始化一些硬件、掛載 / 根文件系統(tǒng)的臨時(shí)系統(tǒng)鏡像),還有用戶空間(加載所有使主機(jī)達(dá)到可用狀態(tài)的程序和守護(hù)程序)。如果沒有像該命令傳遞子命令,默認(rèn)是 systemd-analyze time

[root@david ~]$ systemd-analyze
Startup finished in 53.921s (firmware) + 2.643s (loader) + 2.236s (kernel) + 4.348s (initrd) + 10.082s (userspace) = 1min 13.233s
graphical.target reached after 10.071s in userspace
[root@david ~]#

這個(gè)輸出中最值得注意的數(shù)據(jù)是在固件(BIOS)中花費(fèi)的時(shí)間:幾乎 54 秒。這是一個(gè)不太正常的時(shí)間,我的其他物理系統(tǒng)都沒有花費(fèi)這么長的時(shí)間來通過 BIOS。

我的 System76 Oryx Pro 筆記本在 BIOS 階段只花了 8.506 秒,我家里所有的系統(tǒng)都在 10 秒以內(nèi)。在線搜索一陣之后,我發(fā)現(xiàn)這塊主板以其超長的 BIOS 引導(dǎo)時(shí)間而聞名。我的主板從不“馬上啟動(dòng)”,總是掛起,我需要關(guān)機(jī)再開機(jī),BIOS 報(bào)錯(cuò),按 F1 進(jìn)入 BIOS 設(shè)置,選擇要引導(dǎo)的驅(qū)動(dòng)器完成引導(dǎo),多花費(fèi)的時(shí)間就是這樣用掉的。

不是所有主機(jī)都會(huì)顯示固件數(shù)據(jù)(LCTT 譯注:固件引導(dǎo)中不涉及 systemd)。我的不科學(xué)的實(shí)驗(yàn)使我相信,這個(gè)數(shù)據(jù)只顯示給英特爾 9 代或以上的處理器。但這可能是不正確的。

這個(gè)關(guān)于引導(dǎo)、啟動(dòng)的概述提供了很好的(雖然有限)的信息,但是還有很多關(guān)于啟動(dòng)的信息,我將在下面描述。

分配責(zé)任

你可以用 systemd-analyze blame 來發(fā)現(xiàn)哪個(gè) systemd 單元的初始化時(shí)間最長。其結(jié)果按照初始化時(shí)間長短排序,從多到少:

[root@david ~]$ systemd-analyze blame  
       5.417s NetworkManager-wait-online.service
       3.423s dracut-initqueue.service
       2.715s systemd-udev-settle.service
       2.519s fstrim.service
       1.275s udisks2.service
       1.271s smartd.service
        996ms upower.service
        637ms lvm2-monitor.service
        533ms lvm2-pvscan@8:17.service
        520ms dmraid-activation.service
        460ms vboxdrv.service
        396ms initrd-switch-root.service
<截?cái)啵簞h去了好多時(shí)間不長的條目>

因?yàn)楹芏喾?wù)是并行開始的,在 BIOS 之后所有單元加在一起的總數(shù)大大超過了 systemd-analyze time 匯總數(shù)。很多都是小數(shù),不能顯著的節(jié)省時(shí)間。

這個(gè)命令提供的數(shù)據(jù)指明了改善啟動(dòng)時(shí)間的辦法。無用的服務(wù)可以禁用(disable)。在這個(gè)啟動(dòng)過程中,似乎沒有任何一個(gè)服務(wù)需要花費(fèi)過長的時(shí)間。你可能會(huì)在每次啟動(dòng)時(shí)看到不同的結(jié)果。(LCTT 譯注:并行啟動(dòng)服務(wù)的原因)

關(guān)鍵鏈

就像項(xiàng)目管理中的關(guān)鍵路徑一樣,關(guān)鍵鏈顯示了在啟動(dòng)過程中發(fā)生的時(shí)間關(guān)鍵的事件鏈(LCTT 譯注:systemd 可以定義服務(wù)間的依賴,構(gòu)成關(guān)鍵鏈)。如果啟動(dòng)緩慢,這些是你想查看的 systemd 單元,因?yàn)樗鼈兪菍?dǎo)致延遲的單元。這個(gè)工具不會(huì)顯示所有啟動(dòng)的單元,只顯示這個(gè)關(guān)鍵事件鏈中的單元。(LCTT 譯注:相當(dāng)于最短路徑。并不顯示依賴不在關(guān)鍵鏈上的服務(wù)單元)

[root@david ~]# systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

graphical.target @10.071s
└─lxdm.service @10.071s
  └─plymouth-quit.service @10.047s +22ms
    └─systemd-user-sessions.service @10.031s +7ms
      └─remote-fs.target @10.026s
        └─remote-fs-pre.target @10.025s
          └─nfs-client.target @4.636s
            └─gssproxy.service @4.607s +28ms
              └─network.target @4.604s
                └─NetworkManager.service @4.383s +219ms
                  └─dbus-broker.service @4.434s +136ms
                    └─dbus.socket @4.369s
                      └─sysinit.target @4.354s
                        └─systemd-update-utmp.service @4.345s +9ms
                          └─auditd.service @4.301s +42ms
                            └─systemd-tmpfiles-setup.service @4.254s +42ms
                              └─import-state.service @4.233s +19ms
                                └─local-fs.target @4.229s
                                  └─Virtual.mount @4.019s +209ms
                                    └─systemd-fsck@dev-mapper-vg_david2\x2dVirtual.service @3.742s +274ms
                                      └─local-fs-pre.target @3.726s
                                        └─lvm2-monitor.service @356ms +637ms
                                          └─dm-event.socket @319ms
                                            └─-.mount
                                              └─system.slice
                                                └─-.slice
[root@david ~]#

前面有 @ 的數(shù)字表示單元激活開始啟動(dòng)所使用的絕對秒數(shù)。前面有 + 的數(shù)字顯示單元啟動(dòng)所需的時(shí)間。

系統(tǒng)狀態(tài)

有時(shí)候你需要確定系統(tǒng)的當(dāng)前狀態(tài),systemd-analyze dump 命令轉(zhuǎn)儲(chǔ)了當(dāng)前系統(tǒng)狀態(tài)的大量數(shù)據(jù)。有主要的啟動(dòng)時(shí)間戳,一個(gè)每個(gè) systemd 單元的列表,并對每個(gè)單元狀態(tài)進(jìn)行了完整描述:

[root@david ~]# systemd-analyze dump
Timestamp firmware: 1min 7.983523s
Timestamp loader: 3.872325s
Timestamp kernel: Wed 2020-08-26 12:33:35 EDT
Timestamp initrd: Wed 2020-08-26 12:33:38 EDT
Timestamp userspace: Wed 2020-08-26 12:33:42 EDT
Timestamp finish: Wed 2020-08-26 16:33:56 EDT
Timestamp security-start: Wed 2020-08-26 12:33:42 EDT
Timestamp security-finish: Wed 2020-08-26 12:33:42 EDT
Timestamp generators-start: Wed 2020-08-26 16:33:42 EDT
Timestamp generators-finish: Wed 2020-08-26 16:33:43 EDT
Timestamp units-load-start: Wed 2020-08-26 16:33:43 EDT
Timestamp units-load-finish: Wed 2020-08-26 16:33:43 EDT
Timestamp initrd-security-start: Wed 2020-08-26 12:33:38 EDT
Timestamp initrd-security-finish: Wed 2020-08-26 12:33:38 EDT
Timestamp initrd-generators-start: Wed 2020-08-26 12:33:38 EDT
Timestamp initrd-generators-finish: Wed 2020-08-26 12:33:38 EDT
Timestamp initrd-units-load-start: Wed 2020-08-26 12:33:38 EDT
Timestamp initrd-units-load-finish: Wed 2020-08-26 12:33:38 EDT
-> Unit system.slice:
        Description: System Slice
        Instance: n/a
        Unit Load State: loaded
        Unit Active State: active
        State Change Timestamp: Wed 2020-08-26 12:33:38 EDT
        Inactive Exit Timestamp: Wed 2020-08-26 12:33:38 EDT
        Active Enter Timestamp: Wed 2020-08-26 12:33:38 EDT
        Active Exit Timestamp: n/a
        Inactive Enter Timestamp: n/a
        May GC: no
<截?cái)啵簞h除了大量的輸出行>

在我的主工作站上,這個(gè)命令生成了 49680 行輸出,大概 1.66MB,這個(gè)命令非常快,不需要等待。

我很喜歡為各種連接設(shè)備(如存儲(chǔ)設(shè)備)提供的大量細(xì)節(jié)。每個(gè) systemd 單元有一個(gè)部分,包括各種運(yùn)行時(shí)、緩存、日志目錄的模式、啟動(dòng)單元的命令行、PID、開始時(shí)間戳,以及內(nèi)存和文件限制等細(xì)節(jié)。

systemd-analyze 的手冊頁里展示了 systemd-analyze --user dump 選項(xiàng),目的是顯示用戶管理器的內(nèi)部狀態(tài)。但這個(gè)選項(xiàng)對我來說是失敗的,互聯(lián)網(wǎng)搜索之后表明它可能有一些問題。在 systemd 里,--user 實(shí)例用來管理和控制處理器給每個(gè)用戶的進(jìn)程資源。處理能力按分給每個(gè)用戶的進(jìn)程都屬于一個(gè)控制組,我將在以后的文章中介紹。

分析圖表

大多數(shù)啥都不懂的猥瑣老板(PHB)和許多優(yōu)秀的管理者都發(fā)現(xiàn)漂亮的圖表比我通常喜歡的基于文本的系統(tǒng)性能數(shù)據(jù)更容易閱讀和理解。但有時(shí),即使是我也喜歡一個(gè)好的圖表,systemd-analyze 提供了顯示引導(dǎo)/啟動(dòng)數(shù)據(jù)的 SVG 矢量圖表。

下面的命令生成一個(gè)矢量圖文件,來顯示在引導(dǎo)和啟動(dòng)過程發(fā)生的事件。生成這個(gè)文件只需要幾秒:

[root@david ~]# systemd-analyze plot > /tmp/bootup.svg

這個(gè)命令創(chuàng)建了一個(gè) SVG 文件,SVG 是一個(gè)定義了一系列圖形矢量的文本文件,包括 Image Viewer、Ristretto、Okular、Eye of Mate、LibreOffice Draw 在內(nèi)的這些可以生成圖形的應(yīng)用,可以用 SVG 來創(chuàng)建圖像。

我用 LibreOffice Draw(LCTT 譯注:一個(gè)辦公文檔軟件)來渲染一幅圖形。這張圖形很大,你需要放到很大才能看清細(xì)節(jié)。這里是它的一小部分:

圖中時(shí)間軸上零點(diǎn)(0)的左邊是引導(dǎo)階段,零點(diǎn)的右邊是啟動(dòng)階段。這一小部分顯示了內(nèi)核、initrd 和 initrd 啟動(dòng)的進(jìn)程。

這張圖一目了然地顯示了什么時(shí)候啟動(dòng),啟動(dòng)需要多少時(shí)間,以及主要的依賴項(xiàng)。關(guān)鍵路徑用紅色高亮顯示。

另外一個(gè)生成圖形輸出的命令是 systemd-analyze plot,它生成了 DOT 格式的文本依賴圖。產(chǎn)生的數(shù)據(jù)流通過 dot 工具進(jìn)行處理,這是一組用來從多種類型數(shù)據(jù)中生成矢量圖文件的程序。這些 SVG 文件也能被上面列出的工具處理。

首先,生成文件,在我的主工作站花了 9 分鐘:

[root@david ~]# time systemd-analyze dot | dot -Tsvg > /tmp/test.svg
   Color legend: black     = Requires
                 dark blue = Requisite
                 dark grey = Wants
                 red       = Conflicts
                 green     = After

real    8m37.544s
user    8m35.375s
sys     0m0.070s
[root@david ~]#

我不會(huì)在這里重現(xiàn)輸出,因?yàn)楫a(chǎn)生的圖形就像一大堆意大利面條。但是你應(yīng)該試試,看看我想讓你看到的結(jié)果。

條件

在閱讀 systemd-analyze(1) 的手冊頁時(shí),我發(fā)現(xiàn)了一個(gè)更有趣的功能,但又有點(diǎn)通用,就是條件子命令。(是的,我確實(shí)在讀手冊頁,而且我神奇地通過這種方式學(xué)到了很多東西?。?。這個(gè) condition 子命令能用來測試 systemd 單元文件中的條件和斷言。

它也可以在腳本中用來評(píng)估一個(gè)或多個(gè)條件 —— 如果所有條件都滿足,則返回 0;如果有條件不滿足,則返回 1。在其它情況下,它都會(huì)輸出其結(jié)果文本。

下面的例子來自手冊頁,稍微有點(diǎn)復(fù)雜。它測試了內(nèi)核版本是否在 4.0 和 5.1 之間,主機(jī)是否使用交流電供電,系統(tǒng)結(jié)構(gòu)是否是 ARM,以及 /etc/os-release 目錄是否存在。我添加了 echo $? 來打印返回值。

[root@david ~]# systemd-analyze condition 'ConditionKernelVersion = ! <4.0' \
                    'ConditionKernelVersion = >=5.1' \
                    'ConditionACPower=|false' \
                    'ConditionArchitecture=|!arm' \
                    'AssertPathExists=/etc/os-release' ; \
echo $?
test.service: AssertPathExists=/etc/os-release succeeded.
Asserts succeeded.
test.service: ConditionArchitecture=|!arm succeeded.
test.service: ConditionACPower=|false failed.
test.service: ConditionKernelVersion=>=5.1 succeeded.
test.service: ConditionKernelVersion=!<4.0 succeeded.
Conditions succeeded.
0
[root@david ~]#

條件和斷言的列表大約從 systemd.unit(5) 手冊頁的第 600 行左右開始。

列出配置文件

systemd-analyze 工具提供了一種將各種配置文件的內(nèi)容發(fā)送到 STDOUT 的方法,如圖所示。其基本目錄是 /etc/。

[root@david ~]# systemd-analyze cat-config systemd/system/display-manager.service
# /etc/systemd/system/display-manager.service
[Unit]
Description=LXDM (Lightweight X11 Display Manager)
#Documentation=man:lxdm(8)
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service livesys-late.service
#Conflicts=plymouth-quit.service

[Service]
ExecStart=/usr/sbin/lxdm
Restart=always
IgnoreSIGPIPE=no
#BusName=org.freedesktop.lxdm

[Install]
Alias=display-manager.service
[root@david ~]#

打了這么多字卻和標(biāo)準(zhǔn)的 cat 命令做的差不多。我發(fā)現(xiàn)下一條命令小有幫助,它能在標(biāo)準(zhǔn)的 systemd 所在的位置搜索具有指定模式的內(nèi)容:

[root@david ~]# systemctl cat backup*
# /etc/systemd/system/backup.timer
# This timer unit runs the local backup program
# (C) David Both
# Licensed under GPL V2
#

[Unit]
Description=Perform system backups
Requires=backup.service

[Timer]
Unit=backup.service
OnCalendar=*-*-* 00:15:30

[Install]
WantedBy=timers.target


# /etc/systemd/system/backup.service
# This service unit runs the rsbu backup program
# By David Both
# Licensed under GPL V2
#

[Unit]
Description=Backup services using rsbu
Wants=backup.timer

[Service]
Type=oneshot
Environment="HOME=/root"
ExecStart=/usr/local/bin/rsbu -bvd1
ExecStart=/usr/local/bin/rsbu -buvd2

[Install]
WantedBy=multi-user.target

[root@david ~]#

這兩個(gè)命令在每個(gè)文件的內(nèi)容前面都有一個(gè)注釋行,包含文件的完整路徑和名稱。

單元文件檢查

當(dāng)創(chuàng)建了一個(gè)新的單元文件,可以利用 verify 子命令幫助檢查語法是否正確。它能指出來不正確的拼寫,并列出缺失的服務(wù)單元。

[root@david ~]# systemd-analyze verify /etc/systemd/system/backup.service

秉承 Unix/Linux 的“沉默是金”的宗旨,沒有輸出意味著掃描的文件中沒有錯(cuò)誤。

安全性

security 子命令檢查指定服務(wù)的安全級(jí)別。它只能針對服務(wù)單元,其他類型的單元文件不起作用:

[root@david ~]# systemd-analyze security display-manager
  NAME                                                        DESCRIPTION                                                     >
 PrivateNetwork=                                             Service has access to the host's network                        >
 User=/DynamicUser=                                          Service runs as root user                                       >
 CapabilityBoundingSet=~CAP_SET(UID|GID|PCAP)                Service may change UID/GID identities/capabilities              >
 CapabilityBoundingSet=~CAP_SYS_ADMIN                        Service has administrator privileges                            >
 CapabilityBoundingSet=~CAP_SYS_PTRACE                       Service has ptrace() debugging abilities                        >
 RestrictAddressFamilies=~AF_(INET|INET6)                    Service may allocate Internet sockets                           >
 RestrictNamespaces=~CLONE_NEWUSER                           Service may create user namespaces                              >
 RestrictAddressFamilies=~…                                  Service may allocate exotic sockets                             >
 CapabilityBoundingSet=~CAP_(CHOWN|FSETID|SETFCAP)           Service may change file ownership/access mode/capabilities unres>
 CapabilityBoundingSet=~CAP_(DAC_*|FOWNER|IPC_OWNER)         Service may override UNIX file/IPC permission checks            >
 CapabilityBoundingSet=~CAP_NET_ADMIN                        Service has network configuration privileges                    >
 CapabilityBoundingSet=~CAP_SYS_MODULE                       Service may load kernel modules
<截?cái)?
 CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG                   Service may issue vhangup()                                     >
 CapabilityBoundingSet=~CAP_WAKE_ALARM                       Service may program timers that wake up the system              >
 RestrictAddressFamilies=~AF_UNIX                            Service may allocate local sockets                              >

→ Overall exposure level for backup.service: 9.6 UNSAFE ?
lines 34-81/81 (END)

是的,表情符是輸出的一部分。但是,當(dāng)然,許多服務(wù)需要幾乎完全訪問所有的東西,以便完成它們的工作。我針對幾個(gè)服務(wù)運(yùn)行了這個(gè)程序,包括我自己的備份服務(wù);結(jié)果可能有所不同,但最底下一行似乎大多是一樣的。

這個(gè)工具對于在嚴(yán)格的安全環(huán)境檢查和修復(fù)用戶空間的服務(wù)單元是很有用的。我不認(rèn)為我們的大多數(shù)都能用到它。

最后總結(jié)

這個(gè)強(qiáng)力的工具提供了一些有趣而驚人的有用選項(xiàng)。本文探討的大部分內(nèi)容是關(guān)于使用 systemd-analyze 來深入了解 Linux 使用 systemd 的啟動(dòng)性能。它還可以分析 systemd 的其他方面。

其中有些工具的作用有限,有幾個(gè)應(yīng)該完全忘記。但在解決啟動(dòng)和其他 systemd 功能的問題時(shí),大多數(shù)都能起到很好的作用。

資源

互聯(lián)網(wǎng)上關(guān)于 systemd 有很多信息,但是很多過于簡略、晦澀,甚至是誤導(dǎo)。除了這篇文章中提到的資源外,以下網(wǎng)頁提供了關(guān)于systemd啟動(dòng)的更詳細(xì)和可靠的信息。這個(gè)列表在我開始寫這一系列文章后有所增長,以反映我所做的研究。

  • systemd.unit(5) 手冊頁 包含了一份單元文件部分及其配置選項(xiàng)的清單,并對每個(gè)部分進(jìn)行了簡明的描述。
  • Fedora 項(xiàng)目有一個(gè)很好的實(shí)用 systemd 指南。它包含了配置、管理和維護(hù)使用 systemd 的 Fedora 計(jì)算機(jī)所需的幾乎所有知識(shí)。
  • Fedora 項(xiàng)目還有一份很好的 備忘錄,將舊的 SystemV 命令與 systemd 命令進(jìn)行了對照。
  • Red Hat 文檔包含了對 單元文件結(jié)構(gòu) 的詳細(xì)描述和其他重要的信息。
  • 關(guān)于 systemd 技術(shù)的細(xì)節(jié)和創(chuàng)建它的原因,可以去看 Freedesktop.org systemd 詳述。
  • Linux.com 的“更多 systemd 樂趣”提供了很多高級(jí)的 systemd 信息和技巧。

此外,systemd 設(shè)計(jì)者和主要開發(fā)者 Lennart Poettering 也為 Linux 系統(tǒng)管理員撰寫了一系列深度技術(shù)文檔,盡管這些文章寫于 2010 年 4 月到 2011 年 9 月,現(xiàn)在看也是非常適應(yīng)時(shí)宜。關(guān)于 systemd 及其生態(tài)系統(tǒng)的其他好文章,大部分都是基于這些文章的。

  • Rethinking PID 1
  • systemd for Administrators, Part I
  • systemd for Administrators, Part II
  • systemd for Administrators, Part III
  • systemd for Administrators, Part IV
  • systemd for Administrators, Part V
  • systemd for Administrators, Part VI
  • systemd for Administrators, Part VII
  • systemd for Administrators, Part VIII
  • systemd for Administrators, Part IX
  • systemd for Administrators, Part X
  • systemd for Administrators, Part XI


名稱欄目:Linux啟動(dòng)性能分析
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/coeoogg.html