Firefox Nightly 59中的进程树记录

Firefox自57以来就采用的“多进程”技术和Quantum内核,Quantum内核自然就包括最新Servo aka Stylo CSS技术,使Firefox大大提速。这里的“多进程”使人疑惑,到底是什么多进程?

很多人知道Chrome浏览器,当年就是凭借着多进程以及高性能Blink + JS v8 Engine闯荡江湖的。这里的多进程是指WebContent的多进程,既不是浏览器多窗口,也不是浏览器多标签

个人理解,这里的WebContent指的是Html5 DOMCSS3 DOMJS RuntimeNetwork Socket等。

下面是一个摘自Fedora + Firefox Nightly 59的pstree图:

Firefox Nightly 56 pstree

firefox─┬─4*[Web Content─┬─{BgHangManager}]
       │                ├─{Chrome_~dThread}]
       │                ├─{DOM File}]
       │                ├─{HTML5 Parser}]
       │                ├─{Hang Monitor}]
       │                ├─{ImageBr~geChild}]
       │                ├─{ImageIO}]
       │                ├─{ImgDecoder #1}]
       │                ├─{ImgDecoder #2}]
       │                ├─{ImgDecoder #3}]
       │                ├─8*[{JS Helper}]]
       │                ├─{JS Watchdog}]
       │                ├─{ProcessHangMon}]
       │                ├─{ProfilerChild}]
       │                ├─{Socket Thread}]
       │                ├─{StyleThread#0}]
       │                ├─{StyleThread#1}]
       │                ├─{StyleThread#2}]
       │                ├─{Timer}]
       │                ├─{VideoChild}]
       │                ├─{gdbus}]
       │                └─{gmain}]
       ├─firefox
       ├─{BGReadURLs}
       ├─{BgHangManager}
       ├─{Cache I/O}
       ├─{Cache2 I/O}
       ├─{Classif~ Update}
       ├─{Compositor}
       ├─{Cookie}
       ├─{DNS Res~ver #56}
       ├─{DNS Res~ver #57}
       ├─{DNS Res~ver #58}
       ├─3*[{DOM Worker}]
       ├─3*[{DataStorage}]
       ├─{FS Broker 17691}
       ├─{FS Broker 18028}
       ├─{FS Broker 18215}
       ├─{FS Broker 2625}
       ├─{GMPThread}
       ├─{Gecko_IOThread}
       ├─{HTML5 Parser}
       ├─{Hang Monitor}
       ├─{IPDL Background}
       ├─{IdentityCrypto}
       ├─{ImageBr~geChild}
       ├─{ImageIO}
       ├─{ImgDecoder #1}
       ├─{ImgDecoder #2}
       ├─{ImgDecoder #3}
       ├─8*[{JS Helper}]
       ├─{JS Watchdog}
       ├─{Link Monitor}
       ├─{LoadRoots}
       ├─{ProcessHangMon}
       ├─{ProxyResolution}
       ├─{QuotaManager IO}
       ├─{SaveScripts}
       ├─{Socket Thread}
       ├─{Softwar~cThread}
       ├─{SysProxySetting}
       ├─{Timer}
       ├─{URL Classifier}
       ├─{VRListener}
       ├─{dconf worker}
       ├─3*[{firefox}]
       ├─{gdbus}
       ├─{gmain}
       ├─{localStorage DB}
       ├─{mozStorage #1}
       ├─{mozStorage #2}
       ├─{mozStorage #3}
       ├─{mozStorage #4}
       ├─{mozStorage #5}
       ├─{mozStorage #6}
       ├─{mozStorage #7}
       └─2*[{threaded-ml}]

此时打开的4个页面为:

firefox59-multi-process-2625
firefox59-multi-process-2625
firefox59-multi-process-17691
firefox59-multi-process-17691
firefox59-multi-process-18028
firefox59-multi-process-18028
firefox59-multi-process-18215
firefox59-multi-process-18215

好了,更多的还是需要去Google。

如有什么见解,欢迎评论。

作者: YanWen

Web 开发者

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s