看板 Browsers 關於我們 聯絡資訊
: 若是在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
Altair:感謝詳細的解說~ 04/24 04:45
Altair:我在vista下看工作管理員的private working set 04/24 04:48
Altair:開啟同一批網站時 FF(18套件)比OP(陽春)佔用較少的記憶體 04/24 04:51
Altair:不過倒是沒去試切換tab時的反應快慢 (因目前都用GC瀏覽 XD 04/24 04:52
delphinus:有學過os. XD 04/26 13:41
kaoh08:推薦這篇文章 04/27 03:16
subname:推薦這篇文章 04/27 15:34