许多Gnome 3.28守护程序正在使用超过100 GB的VIRT。为什么?


12

我最近将此笔记本电脑更新为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

Answers:


13

所有这些守护程序都使用WebKit(主要用于显示oauth2登录提示),并且WebKit最近引入了千兆位来隔离其JS实现所使用的堆。千兆位的分配量足够大,以至于对任意无符号32位偏移量的任何访问仍将落在千兆位上,从而产生了巨大的分配量。有关更大容量的更多详细信息,请参见此博客文章:https ://labs.mwrinfosecurity.com/blog/some-brief-notes-on-webkit-heap-hardening/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.