默认情况下,Google Chrome 会为打开的每个标签页运行一个新进程。我运行的是 Ubuntu 15.4,Chrome 版本为 43.0.2357.134(64 位)。我目前打开了很多标签页,共有 57 个进程。
$ ps aux | grep chrome | wc -l
57
同一网站上有几组标签,其中包含不同的页面,其中一个是 Stack Exchange 网络。此外还有 G+ 和 Google Play 音乐。
根据 chrome://memory-redirect/,后两个占用大量内存,Google Play 音乐甚至在不播放的情况下也会占用大约 500MB 的内存。
总的来说,我的 Chrome 目前消耗了4.3GB我的 8GB RAM。
现在我想知道垃圾收集的问题。当我想放弃一个网站并转到其他地方时,是关闭并打开新标签页更好,还是我应该通过输入不同的 URL 来重复使用标签页(并由此进行处理)?
哪一个更能提高记忆力?
答案1
就内存而言,两种方法的总体性能大致相同。
如果关闭选项卡,则进程将终止并且内存将被释放。
如果您重复使用该选项卡,那么当垃圾收集器决定运行时(即可用内存不足等),旧对象将被垃圾收集器清理。
无论哪种情况,当前打开的选项卡所需的内存量应该相同,因此性能应该大致相同。