您尚未登录。

#1 2012-11-29 10:45:48

jiyinyiyong
会员
注册时间: 2012-11-06
帖子: 99

Arch 的启动顺序疑惑... pstree

刚开始想弄明白 X 怎么在 Linux 里启动的, 刚说看到 inittab 就想起来装 Arch 时候没遇到过 init 啊,
而且 startup sequence 换成是 systemd 了, init 也被替换了, 那 X 以后我怎么整....
想起来 ps 的树形图能看启动顺序相关的, 于是搜到这个命令看了一下.... 话说要是支持 Markdown 的话贴代码该多方便...
貌似我的进程多了点.... http://www.byvoid.com/blog/tag/%E7%88%B … %E7%A8%8B/

不懂的地方..
1. systemd 是字母顺序启动..?
2. 启动网络管理的是 nm-applet 还是 wpa_supplicant?
3. 桌面是直接从 GDM 启动了, 已经跳过 X 的配置了? X 和 GDM 相互间怎么启动的?

➤➤ pstree
systemd─┬─2*[gnome-terminal─┬─bash───pstree]
        │                   ├─3*[bash]]
        │                   ├─gnome-pty-helpe]
        │                   └─3*[{gnome-terminal}]]
        ├─accounts-daemon───{accounts-daemon}
        ├─agetty
        ├─at-spi-bus-laun─┬─dbus-daemon
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───{at-spi2-registr}
        ├─chrome─┬─chrome
        │        ├─2*[chrome───2*[{chrome}]]
        │        ├─chrome───6*[{chrome}]
        │        ├─chrome-sandbox───chrome─┬─chrome─┬─chrome───44*[{chrome}]
        │        │                         │        └─16*[chrome───3*[{chrome}]]
        │        │                         └─nacl_helper_boo
        │        └─42*[{chrome}]
        ├─colord───{colord}
        ├─console-kit-dae───64*[{console-kit-dae}]
        ├─4*[dbus-daemon]
        ├─2*[dbus-launch]
        ├─dconf-service───2*[{dconf-service}]
        ├─2*[dhcpcd]
        ├─evolution-calen───4*[{evolution-calen}]
        ├─evolution-sourc───2*[{evolution-sourc}]
        ├─fcitx───2*[{fcitx}]
        ├─fcitx-dbus-watc
        ├─gconfd-2
        ├─gdm-binary─┬─gdm-simple-slav─┬─Xorg
        │            │                 ├─gdm-session-wor─┬─gnome-session─┬─gnome-settings-─┬─syndaemon
        │            │                 │                 │               │                 └─3*[{gnome-settings-}]
        │            │                 │                 │               ├─gnome-shell───6*[{gnome-shell}]
        │            │                 │                 │               ├─nautilus───2*[{nautilus}]
        │            │                 │                 │               ├─nm-applet───2*[{nm-applet}]
        │            │                 │                 │               ├─ssh-agent
        │            │                 │                 │               └─3*[{gnome-session}]
        │            │                 │                 └─2*[{gdm-session-wor}]
        │            │                 └─2*[{gdm-simple-slav}]
        │            └─2*[{gdm-binary}]
        ├─gnome-control-c───2*[{gnome-control-c}]
        ├─gnome-keyring-d───6*[{gnome-keyring-d}]
        ├─gnome-shell-cal───3*[{gnome-shell-cal}]
        ├─goa-daemon───{goa-daemon}
        ├─gsd-printer───{gsd-printer}
        ├─gvfs-udisks2-vo───{gvfs-udisks2-vo}
        ├─gvfsd───{gvfsd}
        ├─gvfsd-fuse───4*[{gvfsd-fuse}]
        ├─gvfsd-metadata───{gvfsd-metadata}
        ├─gvfsd-trash───2*[{gvfsd-trash}]
        ├─login───bash
        ├─mission-control───2*[{mission-control}]
        ├─nginx───nginx
        ├─node─┬─node───{node}
        │      └─{node}
        ├─node─┬─node───5*[{node}]
        │      └─{node}
        ├─polkitd───4*[{polkitd}]
        ├─pulseaudio─┬─gconf-helper
        │            └─3*[{pulseaudio}]
        ├─python2
        ├─rtkit-daemon───2*[{rtkit-daemon}]
        ├─sublime_text───4*[{sublime_text}]
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─udisksd───3*[{udisksd}]
        ├─upowerd───2*[{upowerd}]
        └─2*[wpa_supplicant]

离线

#2 2012-11-29 17:23:55

fengchao
会员
注册时间: 2012-02-21
帖子: 116

Re: Arch 的启动顺序疑惑... pstree

pstree 显示的不是启动顺序,而是进程 fork 关系,systemd 是并行启动,不是一个一个启动

gdm 会执行 X 启动

离线

#3 2012-12-14 10:02:40

jiyinyiyong
会员
注册时间: 2012-11-06
帖子: 99

Re: Arch 的启动顺序疑惑... pstree

fengchao 说:

pstree 显示的不是启动顺序,而是进程 fork 关系,systemd 是并行启动,不是一个一个启动

gdm 会执行 X 启动

感谢楼上.. 想问下像我这样有哪些不是系统必须的的, 我很想去掉一些加速启动..
gdm, fcitx, nginx, mongo, NetworkManager, sshd, goagent 是我熟悉的, 别的有哪些可以关掉的么?

➤➤ pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─3*[{NetworkManager}]
        ├─accounts-daemon───{accounts-daemon}
        ├─at-spi-bus-laun─┬─dbus-daemon
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───{at-spi2-registr}
        ├─colord───{colord}
        ├─console-kit-dae───64*[{console-kit-dae}]
        ├─3*[dbus-daemon]
        ├─dbus-launch
        ├─dconf-service───2*[{dconf-service}]
        ├─evolution-calen───4*[{evolution-calen}]
        ├─evolution-sourc───2*[{evolution-sourc}]
        ├─fcitx───2*[{fcitx}]
        ├─fcitx-dbus-watc
        ├─gconfd-2
        ├─gdm-binary─┬─gdm-simple-slav─┬─Xorg
        │            │                 ├─gdm-session-wor─┬─gnome-session─┬─gnome-settings-─┬─syndaemon
        │            │                 │                 │               │                 └─3*[{gnome-settings-}]
        │            │                 │                 │               ├─gnome-shell─┬─gnome-terminal─┬─bash───pstree
        │            │                 │                 │               │             │                ├─gnome-pty-helpe
        │            │                 │                 │               │             │                └─4*[{gnome-terminal}]
        │            │                 │                 │               │             └─7*[{gnome-shell}]
        │            │                 │                 │               ├─nautilus───3*[{nautilus}]
        │            │                 │                 │               ├─nm-applet───2*[{nm-applet}]
        │            │                 │                 │               ├─python2
        │            │                 │                 │               ├─ssh-agent
        │            │                 │                 │               └─3*[{gnome-session}]
        │            │                 │                 └─2*[{gdm-session-wor}]
        │            │                 └─2*[{gdm-simple-slav}]
        │            └─2*[{gdm-binary}]
        ├─gnome-shell-cal───3*[{gnome-shell-cal}]
        ├─goa-daemon───{goa-daemon}
        ├─gsd-printer───{gsd-printer}
        ├─gvfs-udisks2-vo───{gvfs-udisks2-vo}
        ├─gvfsd───{gvfsd}
        ├─gvfsd-fuse───4*[{gvfsd-fuse}]
        ├─gvfsd-trash───{gvfsd-trash}
        ├─mission-control───2*[{mission-control}]
        ├─mongod───9*[{mongod}]
        ├─nautilus-shell-───3*[{nautilus-shell-}]
        ├─nginx───nginx
        ├─polkitd───4*[{polkitd}]
        ├─pulseaudio─┬─gconf-helper
        │            └─3*[{pulseaudio}]
        ├─rtkit-daemon───2*[{rtkit-daemon}]
        ├─sshd
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─udisksd───3*[{udisksd}]
        ├─upowerd───2*[{upowerd}]
        └─wpa_supplicant

离线

#4 2012-12-14 10:10:37

xgdgscarch
会员
注册时间: 2012-05-07
帖子: 191

Re: Arch 的启动顺序疑惑... pstree

jiyinyiyong 说:
fengchao 说:

pstree 显示的不是启动顺序,而是进程 fork 关系,systemd 是并行启动,不是一个一个启动

gdm 会执行 X 启动

感谢楼上.. 想问下像我这样有哪些不是系统必须的的, 我很想去掉一些加速启动..
gdm, fcitx, nginx, mongo, NetworkManager, sshd, goagent 是我熟悉的, 别的有哪些可以关掉的么?

这是Arch,你不知道的自动启动的就是必须启动的,你知道的自动启动的就是对你来说该启动的,所以别人没法说有什么精简的。再说你还是贴的pstree,又不是启动项。别为那几秒纠结了吧。

离线

#5 2012-12-14 12:30:45

proudzhu
会员
注册时间: 2012-11-25
帖子: 69

Re: Arch 的启动顺序疑惑... pstree

看启动用systemd-anaylze,
目测你的pstree中console-kit-dae这个可以去掉了,
https://www.archlinux.org/news/consolek … by-logind/

离线

#6 2012-12-14 13:56:39

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,443
个人网站

Re: Arch 的启动顺序疑惑... pstree

mission-control goa-daemon accounts-daemon evolution-* 不用就干掉吧。前三个我知道 empathy 需要。

离线

#7 2012-12-14 16:29:10

jiyinyiyong
会员
注册时间: 2012-11-06
帖子: 99

Re: Arch 的启动顺序疑惑... pstree

百合仙子 说:

mission-control goa-daemon accounts-daemon evolution-* 不用就干掉吧。前三个我知道 empathy 需要。

奇怪,  evolution 是从哪里打开的, 我在 systemd 的补全里没找到..

⌘ systemctl stop 
accounts-daemon.service            local-fs.target                    sys-fs-fuse-connections.mount      systemd-tmpfiles-clean.timer
basic.target                       mongodb.service                    sysinit.target                     systemd-tmpfiles-setup.service
boot.mount                         multi-user.target                  sys-kernel-debug.mount             systemd-udevd-control.socket
colord.service                     NetworkManager.service             systemd-ask-password-console.path  systemd-udevd-kernel.socket
cryptsetup.target                  network.target                     systemd-ask-password-wall.path     systemd-udevd.service
dbus.service                       nginx.service                      systemd-initctl.socket             systemd-udev-trigger.service
dbus.socket                        polkit.service                     systemd-journald.service           systemd-user-sessions.service
dev-hugepages.mount                proc-sys-fs-binfmt_misc.automount  systemd-journald.socket            systemd-vconsole-setup.service
dev-mqueue.mount                   remote-fs.target                   systemd-logind.service             tmp.mount
dev-sda2.swap                      rtkit-daemon.service               systemd-readahead-collect.service  udisks2.service
gdm.service                        run-user-1000-gvfs.mount           systemd-readahead-done.timer       upower.service
getty.target                       sockets.target                     systemd-readahead-replay.service   wpa_supplicant.service
graphical.target                   sound.target                       systemd-remount-fs.service         
home.mount                         sshd.service                       systemd-shutdownd.socket           
local-fs-pre.target                swap.target                        systemd-sysctl.service   

还有 session 设置里也找不到
截图

离线

#8 2012-12-14 16:32:45

jiyinyiyong
会员
注册时间: 2012-11-06
帖子: 99

Re: Arch 的启动顺序疑惑... pstree

proudzhu 说:

看启动用systemd-anaylze,
目测你的pstree中console-kit-dae这个可以去掉了,
https://www.archlinux.org/news/consolek … by-logind/

原来这个命令是用来干这个的... consolekit 果断卸掉.. 不过我的 NetworkManager 真是有问题.. 到现在网络设置也不正常..
话说这个.. 浪费了我 7 秒钟... 待会切换的 netcfg 试试看好了

➤➤ systemd-analyze blame
  6770ms NetworkManager.service
  4388ms polkit.service
  2649ms systemd-vconsole-setup.service
  1612ms gdm.service
  1422ms systemd-remount-fs.service
  1361ms systemd-udevd.service
  1132ms systemd-udev-trigger.service
  1121ms dev-mqueue.mount
  1112ms dev-hugepages.mount
  1107ms sys-kernel-debug.mount
   982ms systemd-logind.service
   576ms systemd-sysctl.service
   493ms systemd-tmpfiles-setup.service
   418ms home.mount
   403ms dev-sda2.swap
   247ms boot.mount
   212ms colord.service
   206ms tmp.mount
   178ms nginx.service
   117ms rtkit-daemon.service
    84ms systemd-readahead-replay.service
    77ms systemd-readahead-collect.service
    54ms udisks2.service
    25ms accounts-daemon.service
    19ms systemd-user-sessions.service
     9ms upower.service
     4ms wpa_supplicant.service
     1ms sys-fs-fuse-connections.mount

------

补上 svg... polkit 相当费时间的样子
http://s.jiyinyiyong.info/pic/plot.svg

最近编辑记录 jiyinyiyong (2012-12-14 16:40:41)

离线

#9 2012-12-14 16:45:52

deadlight
会员
注册时间: 2012-12-13
帖子: 2

Re: Arch 的启动顺序疑惑... pstree

我之所以从gnome转到openbox就是因为htop里面很多完全不知道干什么的进程,杀掉后一会还自动重启……
现在htop一看,20左右的进程,除了系统的5个,剩下就是自己添加了,清晰明白

离线

#10 2012-12-14 16:49:11

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,443
个人网站

Re: Arch 的启动顺序疑惑... pstree

deadlight 说:

我之所以从gnome转到openbox就是因为htop里面很多完全不知道干什么的进程,杀掉后一会还自动重启……
现在htop一看,20左右的进程,除了系统的5个,剩下就是自己添加了,清晰明白

我从 Ubuntu 转到 Arch 也部分是因为这个原因。

离线

#11 2012-12-14 17:07:23

jiyinyiyong
会员
注册时间: 2012-11-06
帖子: 99

Re: Arch 的启动顺序疑惑... pstree

deadlight 说:

我之所以从gnome转到openbox就是因为htop里面很多完全不知道干什么的进程,杀掉后一会还自动重启……
现在htop一看,20左右的进程,除了系统的5个,剩下就是自己添加了,清晰明白

话说... 除了几个屏幕的 google-chrome 进程以外, 部分系统进程还能认出来.. 别的都不知道怎么认..
...

离线

页脚