web-dev-qa-db-ja.com

多くのGnome 3.28デーモンは100 GBを超えるVIRTを使用しています。どうして?

私は最近、このラップトップをFedora 28 BetaとそれにGnome 3.28にアップデートしました。物事はほとんど良いです。

しかし、奇妙なことがいくつかあります。これはすべて仮想メモリであるため、問題は発生していません。

しかし、これらのデーモンが100+ GBの仮想メモリを割り当てるのはなぜですか?

0  1000  2012  1719  20   0 101649024 32904 SyS_po Sl ?         0:00 /usr/libexec/goa-daemon
0  1000  1983  1719  20   0 101704260 46416 SyS_po Sl ?         0:00 /usr/libexec/gnome-Shell-calendar-server
0  1000  2210  1765  20   0 101736292 33656 SyS_po Sl+ tty2     0:00 /usr/libexec/deja-dup/deja-dup-monitor
0  1000  2452  1719  20   0 101927808 45988 SyS_po Ssl ?        0:00 /usr/libexec/evolution-addressbook-factory
0  1000  2240  1765  20   0 102007840 57328 SyS_po Sl+ tty2     0:00 /usr/libexec/evolution/evolution-alarm-notify
0  1000  2415  2288  20   0 102356528 47216 SyS_po Sl ?         0:00 /usr/libexec/evolution-calendar-factory-subprocess --factory all --bus-name org.gnome.evolution.dataserver.Subprocess.Backend.Calendarx2288x2 --own-path /org/gnome/evolution/dataserver/Subprocess/Backend/Calendar/2288/2
0  1000  2021  1719  20   0 102405692 46532 SyS_po Ssl ?        0:00 /usr/libexec/evolution-source-registry
0  1000  2288  1719  20   0 118711416 46164 SyS_po Ssl ?        0:00 /usr/libexec/evolution-calendar-factory
0  1000  2518  2452  20   0 119163652 49648 SyS_po Sl ?         0:00 /usr/libexec/evolution-addressbook-factory-subprocess --factory all --bus-name org.gnome.evolution.dataserver.Subprocess.Backend.AddressBookx2452x2 --own-path /org/gnome/evolution/dataserver/Subprocess/Backend/AddressBook/2452/2
12
Zan Lynx

これらのデーモンはすべてWebKitを使用し(主にoauth2ログインプロンプトを表示するため)、WebKitは最近、JS実装で使用されるヒープを分離するためにギガケージを導入しました。ギガケージの割り当ては十分に大きいため、任意の符号なし32ビットオフセットへのアクセスがギガケージに到達しても、これらの巨大な割り当てが発生します。ギガケージの詳細については、このブログ投稿を参照してください: https://labs.mwrinfosecurity.com/blog/some-brief-notes-on-webkit-heap-hardening/

13
Sebastian