尝试跟踪我的 Ubuntu Bionic Beaver 系统的内存使用情况。为什么ps
Gnome 的 VSZ 报告如此之大goa-daemon
?
$ ps -eo pid,vsz,sz,rss,comm --sort -vsz| head
PID VSZ SZ RSS COMMAND
27128 101434964 25358741 3680 goa-daemon
13024 3535356 883839 418848 firefox
1869 3355792 838948 1204 gnome-shell
13707 2819028 704757 406028 Web Content
13384 2603416 650854 425768 Web Content
读过手册页,我甚至没有~/.config/goa-1.0/accounts.conf
。所以我可能不会使用它。
为什么报告 VSZ 为 100Gb?
答案1
我在 Linux Mint 机器上也观察到了同样的情况:分配给goa-daemon
实例的 96G VIRT。搜索最终显示这个答案在UnixSE上:
所有这些守护进程都使用 WebKit(主要用于显示 oauth2 登录提示),WebKit 最近引入了 gigacages 来隔离其 JS 实现使用的堆。gigacage 的分配足够大,以至于对任意无符号 32 位偏移的任何访问仍会落在 gigacage 中,从而导致这些巨大的分配。有关 gigacages 的更多详细信息,请参阅此博客文章:https://labs.mwrinfosecurity.com/blog/some-brief-notes-on-webkit-heap-hardening/