启动 Firefox 等程序会在 14.04 LTS 上启动 20 多个独立进程,从而耗尽内存

启动 Firefox 等程序会在 14.04 LTS 上启动 20 多个独立进程,从而耗尽内存

当我以正常方式启动 Firefox 并查看 中的进程时htop。Ubuntu 启动了 20 多个名为 Firefox 的进程。它们都有或多或少连续的 PID。Thunderbird 和 Spotify 也是如此。然后这些进程耗尽了我所有的内存。

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
11843 tom        20   0 1253M  345M 89968 S  6.5  9.0  1:42.50 /usr/lib/firefox/firefox http://doodle.com/
11850 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.00 /usr/lib/firefox/firefox http://doodle.com/
11851 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:01.18 /usr/lib/firefox/firefox http://doodle.com/
11852 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.00 /usr/lib/firefox/firefox http://doodle.com/  
11853 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.00 /usr/lib/firefox/firefox http://doodle.com/
11854 tom        21   1 1253M  345M 89968 S  1.3  9.0  0:01.86 /usr/lib/firefox/firefox http://doodle.com/
11855 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.38 /usr/lib/firefox/firefox http://doodle.com/
11856 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.45 /usr/lib/firefox/firefox http://doodle.com/
11857 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.41 /usr/lib/firefox/firefox http://doodle.com/
11858 tom        20   0 1253M  345M 89968 S  0.0  9.0  0:00.38 /usr/lib/firefox/firefox http://doodle.com/
...

例如,如果我使用 evince 打开 pdf,则只会启动 4 或 5 个 evince 进程。

PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
12090 tom        20   0  962M 86840 39132 S  0.0  2.2  0:01.16 evince /home/tom/test.pdf
12092 tom        20   0  962M 86840 39132 S  0.0  2.2  0:00.00 evince /home/tom/test.pdf
12093 tom        20   0  962M 86840 39132 S  0.0  2.2  0:00.01 evince /home/tom/test.pdf
12095 tom        20   0  962M 86840 39132 S  0.0  2.2  0:00.00 evince /home/tom/test.pdf
12096 tom        20   0  962M 86840 39132 S  0.0  2.2  0:00.35 evince /home/tom/test.pdf

这是正常现象吗?如果不是,我该如何解决这个问题?

答案1

您在 htop 中看到这么多条目的原因是它显示的是线程而不是进程,而 Firefox 有很多这样的线程。

如果H反复按下,您可以在显示线程和显示进程之间切换。

所有这些 Firefox 线程都共享相同的内存空间,因此您应该只计算 RES 345MB 一次,而不是为每个线程将其加起来。

相关内容