Yosemite上的Safari 8.0不会杀死关闭的标签进程,也不会占用内存


7

我刚刚升级到Yosemite并开始使用新的Safari 8.0。有一段时间,一切看起来都很好,但随后变得越来越慢,特别是在切换台式机时。

在失去耐心之后,我打开了Activity Monitor,令我震惊的是,我发现大约十几个旧的Safari Web Content进程仍在运行并使用大量内存,尽管已经关闭了标签。

有人注意到了类似的事吗?或者知道在关闭标签后强制Safari杀死进程的方法?

(Macbook Pro,2012年中期,13英寸,4GB RAM)


这种行为每次都会发生吗?
Matthieu Riegler 2014年

是的 - 每当我关闭标签时,进程都会在后台运行。
metjush 2014年

我的意思是每次重启Safari之后!
Matthieu Riegler 2014年

我退出Safari,检查所有进程都已消失并重新启动它。它不会再发生了。
metjush 2014年

1
所以不是永久性的错误,但仍然是一个错误。
metjush 2014年

Answers:


2

自从Safari 8在OS X 10.9.5,OS X 10.10.x以及所有版本的Safari 8以及迄今为止所有El Capitan测试版中的Safari 9中都令人遗憾地看到了这一点。在我的情况下,Safari内存泄漏严重,Safari必须经常完全退出并重新启动。如果你倾向于打开很多窗户,你可以“重复使用”,这似乎只会发生; 但总的来说,Safari只是增长和增长(按GB计算)。

关于“增加记忆力”的建议是荒谬的。我有一台16GB的Macbook Pro笔记本电脑,它是Apple提供的焊接(“专业”我的后端!)内存的最大配置。它根本无法添加更多。当Safari超过10GB时,内存压力和减速往往变得至关重要。我曾经坚持到使用超过13GB的程度。重新启动时,重新访问所有选项卡以确保所有页面都已加载,它将返回到大约2.5Gb。这种尺寸的泄漏是完全无法辨认的。

这是Safari 7行为的一个显着变化,在这方面表现基本上很好 - 但是在网上有很少的报道。这不是一个微妙的问题,Safari 8已存在多年。其他人会注意到,但很少有人报告。

我看到它在我的10.9.5机器,10.10家用笔记本电脑,10.11测试笔记本电脑上,甚至最近,一台10.10笔记本电脑在工作。我的结论是,当特定的书签,cookie,缓存和/或其他数据存在时,这必须是Safari搞砸了,这些数据必须是它在iCloud上共享的东西的一部分 - 否则我不会期望我的独立清洁安装 - by-IT-vendor工作笔记本电脑展示完全相同的行为。

底线是,这似乎是用户数据的事情。深呼吸并完成Safari重置 - 放弃iCloud书签,清空iCloud帐户中每个Safari实例的所有内容,删除〜/ Library / Safari等等 - 可能会根据开发者论坛工作。但是,与大约OS X 10.7一样,苹果一如既往,它的heisenbuggy混乱和没有任何伪造的随机鸡屠杀将保证解决你的问题。

封闭的标签杂散过程可能只是一个“坏的扩展”,但这不是借口 - 扩展是在Safari控制下,一个坏的扩展永远不能破坏浏览器。它只是在浏览器监督下完全执行的JavaScript代码。尽管如此,我们知道,鉴于历史问题,Safari必须具有非常差的扩展支持代码,因此如果您还没有,那么总是值得调查。


1

“Web Content Process”=“Tab”是一个错误的假设。Web内容流程可以包含多个选项卡。根据Safari的实现细节,关闭与特定Web Content Process相关的最后一个Tab后,它可能不会自动意味着关闭该Web Content Process。Safari可能可以在后台保持该进程空闲,以便在需要时使用新选项卡。我认为Mavericks Safari的行为是一样的。

根据您的“慢速和慢速”体验:可能是4GB的RAM不足以满足您的正常工作负载。结果,使用虚拟内存。这意味着当需要更多内存来驱动所有打开的进程时,您的HDD(或SSD)将用作RAM的扩展。HDD的使用意味着减速。在这方面,SSD更好。

我在小牛队使用Safari 7,我现在不会测试关闭足够数量的标签时会发生什么。但是让我来描述我的MBP的正常情况:目前,我的Safari有4个窗口打开,每个窗口包含10到40个标签,总共打开约100个标签。在Activity Monitor中,我可以看到20个Web内容进程,每个9到12个线程。另外,我有13个QTKitserver Web内容进程,每个2个线程。所有Web内容进程都有一个3位数的PID,这意味着它们是在我上次重启后的3天前开始的。因此,Web内容进程由Safari重用。如果它们是新进程,它们将获得4或5位PID。虽然,我承认自上次重启以来我没有打开和关闭那么多标签。我在2009年末的MBP上有8GB的RAM和一块SSD。

你可以在一些地方看到Yosemite需要比Mavericks更多的RAM。也许这足以放慢你的4GB系统与小牛队相比。虽然它不应该比小牛队表现更差。顺便说一下,可以在这里找到关于10.9的内存管理的精彩读物。

底线:考虑安装8GB RAM。对于非Retina MBP来说,它很便宜。

你可以自己做。只需弄清楚RAM-Modules适用于您的MBP型号:https//support.apple.com/kb/HT201165? viewlocale = en_US#1

如果幸运的话,即使是更老的MBP似乎也可能有16GB。请注意,这个16GB主题需要更多研究:https//forums.macrumors.com/showthread.php?t = 1511196

但我不知道你的情况是否需要。在我看来,8GB是好的。


据我所知,小牛队版本的Safari并没有表现出同样的行为。在我看来这是一个错误。没有任何意义,Safari将保持10个“Web内容进程”运行,每个内存占用RAM中的100Mb内存。关闭相关标签时,应清理这些过程。
Adriaan Tijsseling 2014年

关闭选项卡时,RAM使用率应缩小。清理可能不会立即发生。但过了一段时间,Web内容进程显示较少的内存使用数量。线程计数不能缩小,这是在线程池中保持线程打开的常见编程模式。但我开始猜测,我仍然在小牛队,并将会有一段时间:)。我想做的一点,只在Activity Monitor中查看这些数字并不意味着一切,因为操作系统有复杂的方法来处理内存使用。
Anon 2014年

“关闭相关标签时,应清理这些过程。”好吧,如果您关闭标签然后点击⌘Z,它将重新打开标签。这可能是关闭选项卡时Web应用程序未立即被杀死的另一个原因。
Zearin 2015年

看到我的回复。Safari 7没有出现问题并建议有人在报告明显内存泄漏时添加内存无疑是出于好意,但最终确实没有太大帮助。
安德鲁·霍金森
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.