Safari使用过多的RAM。如何减少其内存占用量?


12

我发现Safari(最新版-v5.0.2)比平时更多地占用了内存。(当前仅在打开此选项卡的情况下使用465mb RAM,但已经运行了一段时间)

关闭并重新打开它可以减少其内存占用,但是随着时间的推移,它总是会逐渐增加。

除了禁用扩展之外,还有任何技巧可以帮助您解决/减少内存使用量吗?我一直在使用ClickToFlash,它有助于要求在每个页面视图上手动启用任何Flash实体。

Answers:


10

因此,看来Flash仍然是罪魁祸首-如果在ClickToFlash中启用任何Flash,它将保持驻留在内存中。

遵循格鲁伯(Gruber)关于《大胆的火球》Daring Fireball)的建议,我已经在除Chrome之外的所有浏览器上完全禁用了Flash,这似乎极大地帮助了我


5
Flash是一个生猪,但是我在三个Safari Windows中打开了大约10个选项卡(总共),而我的大约是780mb。我没有Flash。;)Safari喜欢RAM。
Martin Marconcini 2010年

2
免费使用闪存,您的内存使用量将直线下降。从那里,您可以看到哪个插件分配了内存,但实际上-闪存确实占用了RAM。
bmike

2

这只是使用Safari的生活事实。花一些时间浏览Flickr,它的内存使用量将超过Gig。Gmail是另一个杀手。我认为Safari大部分都在积极进行内存缓存以加快速度。


2

关闭闪存没有错,但是主要优点是处理器使用率降低,而不仅仅是内存消耗(尽管很高兴能将其关闭减少了Safari的占用空间)。

我认为您不必担心Safari对内存的处理有两个原因:

Safari 5是64位应用程序,其中Firefox和Google Chrome仅是32位(至少是Mac公共发行版)。这是相关的,因为64位应用程序出现,而他们正在运行使用更多内存(低吼这个团队比我更好的解释这里)。

如果您有可用的内存,并且OS(和Safari)可以快速,安全,轻松地释放它们(以程序员的身份),那么为什么不使用它来缓存您的Web内容-这就是它的用途。信任您的操作系统-这很聪明,如果另一个应用程序需要内存,它将仅释放不需要的权限。

Safari也有不公平的优势-它是由制造您的计算机的同一家公司生产的。我并不是说Safari绝对可靠,甚至不是最好的浏览器,只是您不应该过分考虑统计信息。内存是可以使用的,如果它不会对您的计算体验产生负面影响,请不要紧张。


4
但它影响我的计算体验。当Safari占用大量内存时,我的计算机开始爬行,通常我必须将其关闭或重新启动。
乔什·纽曼

臭!糟透了 我真的很喜欢野生动物园,没有这个问题,但是我确实注意到高内存占用。铬怎么样?它仍然使用webkit渲染页面。
glenstorey 2010年

1
@glenstorey:我也同意Josh的观点,因为我已经获得了相同的经验:至少在OS 10.6.8中,只要我的可用物理RAM降至<100 MB(总共3 GB),这就会产生巨大的影响根据我的计算经验:长时间旋转沙滩球等等。而Safari似乎是真正需要大量RAM(尤其是闪存)的应用程序
MostlyHarmless 2014年

2

使用Safari 5.0.5,我关闭了闪光灯,在运行sunspider 0.91时,我看到4GB mac mini(2010)上的真正内存增长到1.73GB以上,CPU超过100%。它运行太慢,无法在10分钟内完成。

在Firefox 5.0(也是64位)中运行相同的程序,我获得了500mb的真实内存(90%的CPU),并且它在不到30秒的时间内完成了(并报告300ms的得分……令人神往!)。

因此,我的答案是...停止在雪豹上使用野生动物园,并转到Firefox 5.0。


0

您可以在打开的窗格右侧的开发人员工具栏(右键单击->检查元素)的“网络”选项卡中禁用缓存。当您将元素悬停时,它会显示“在加载资源时禁用/忽略缓存的资源”。变红后,天鹅绒缓存将被停用,此后内存消耗将大大降低。

您还必须通过激活开发人员模式来清空缓存,打开菜单“开发人员”->“空缓存”,您将看到Safari消耗的RAM大量减少。

性能下降的另一个主要因素是:虚拟内存(交换文件)。如果某个进程开始大量使用它(WindowServer),您会发现计算机性能会大大下降,因为这些进程垄断了对磁盘的读/写访问,而其他进程几乎没有空间进行磁盘访问操作。

我怀疑Catalina在这方面会出错,因为由于过多的虚拟内存使用,更新后性能出现了大幅下降,SSD的写入访问速度高达250Mo / s,读取访问速度高达200MB / s。

您可以尝试禁用虚拟内存,前提是(并且仅当)您具有足够的RAM(> = 16GB)时使用此命令:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

如果您在此之后遇到问题,例如突然的自我意识使Mac无法响应或过多的RAM使用,请使用以下命令再次启用虚拟内存:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

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.