作者cole945 (躂躂..)
看板Browsers
标题Re: [-Fx-] Firefox3.0.9 released
时间Thu Apr 23 23:22:19 2009
: 若是在vista下使用
: 可以发现Firefox 3确实比Opera 9.6x省记忆体
这个要看怎麽定义 "省记忆体" .__.
以上面两篇的测验文章, 他们都是从 private memory usage 的角度来评估
但 private memory 的用量, 有时不见得能反应出程式真正使用实体记忆体的量
与记忆体用量对效能的影响..
这边要先弄清楚, 向作业系统(OS)要来的 memory 不见得真的要放在
你的实体记忆体中. 但程式需要使用的 memory 一定要在实体记忆体中,
暂时用不到的部份, 有可能会被 OS 暂时移到(swap out)硬碟中.
若程式需要的记忆体不在实体记忆体中而在硬碟, 那麽就会发生 page fault
此时 OS 再帮程式把东西移回实体记忆体..
所以说, 这些向 OS 要来的 memory 其实是虚拟的, 不见得真的要占用记忆体
private memory 就是程式要来的虚拟记忆体,
就算你的主机体只有 512MB, 程式还是可以要个 1GB 来用..
而 XP 的工作管理员中看到的, 其实是指 working set
working set 是指程式在最近的一段时间内曾经存取过的记忆体.
为了在有限的记忆体环境中提供较好的效能,
一般来说的策略是, 尽可能保持 working set 在记忆体中,
若记忆体不足时, 其他用不到的部份会优先於 working set被swap out..
所以, 某方面来说, working set有时较能反应记忆体的需求
working set中除了包含程式自己的 private memory,
也有可能有一些是 shared 的. shared的部份是多个程式共用,
所以虽然会被计算到每个程式的 working set中, 但其实只会占用一份实体
记忆体.
如果想要看每个程式的 working set, private memory, 和 page fault rate
可以用XP附的小工具 Performance Monitor 或用 Process Explorer
以 Opera 为例, 虽然他 private memory 量大, 但working set却远低於
private memory, 所以他其实真正需要用记忆体不需要那麽大..
但在 Opera 中切换分页时, 却可以发现 page fault rate 变高,
表示 Opera 的策略应该是, 不去使用其他分页的记忆体, 让没在看的分页被
swap out来降低对记忆体的需求..
但 trade-off 是, 如果硬碟较慢, 在切换分页时来不及将东西载回记忆体中,
那切换分页时可能就会觉得钝钝的~
讲了那麽多, 记忆体用量评估和效能影响其实很复杂..
自己用用看哪一个觉得比较不会lag会比测这些数据来得准吧..||
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.204.218
1F:推 Altair:感谢详细的解说~ 04/24 04:45
2F:→ Altair:我在vista下看工作管理员的private working set 04/24 04:48
3F:→ Altair:开启同一批网站时 FF(18套件)比OP(阳春)占用较少的记忆体 04/24 04:51
4F:→ Altair:不过倒是没去试切换tab时的反应快慢 (因目前都用GC浏览 XD 04/24 04:52
5F:推 delphinus:有学过os. XD 04/26 13:41
6F:推 kaoh08:推荐这篇文章 04/27 03:16
7F:推 subname:推荐这篇文章 04/27 15:34