4.5. 虛擬記憶體對效能的影響

雖然,虛擬記憶體可以讓電腦更容易處理更大、更複雜的應用程式;但就跟所有功能強大的工具一樣,這不是沒有代價的。這代價之一就是效能 — 使用虛擬記憶體的作業系統,要比不使用的,更有餘裕做更多事情。這表示前者的效能永遠不可能好過後者,因為不使用虛擬記憶體的話,整個應用程式會位於速度快的記憶體中。

然而,我們沒有理由因噎廢食,虛擬記憶體的好處遠大過其他。而且只要多付一點心力,還是可以得到很好的效能。您要做的,不過是看看哪些系統資源會因為虛擬記憶體而受到影響。

4.5.1. 效能最差的情況

花一點時間,用本章所學的知識,想想如果分頁錯誤與置換發生頻繁的話,那些系統資源會受到影響:

這些負載的連動關係可以讓我們了解,資源短缺會如何造成嚴重的效能問題。

最後,系統的記憶體不足、不斷發生分頁錯誤、CPU 與磁碟 I/O 的負荷都達到極限。結果系統不斷地發生 thrashing 現象,然後毋庸置疑的,導致效能不彰。

4.5.2. 效能最佳的情況

最好的情形是系統設定良好,作業系統並沒有因為支援虛擬記憶體,而付出太多代價:

這樣一來,您就可以知道,如果虛擬記憶體的用量愈小,對效能的衝擊就會愈低。這也表示要讓虛擬記憶體的效能良好,為系統裝上足夠的記憶體是不可或缺的條件。

另一個可以改善虛擬記憶體效能(但比較上沒那麼重要)的方式,是提供夠快的磁碟 I/O 與 CPU 運算能力。然而,記得這些資源只能在分頁與置換發生頻繁時,把系統的衝擊降低;而沒辦法提昇虛擬記憶體的效能(不過在提昇系統整體效能時,這方法扮演著重要的角色)。

[1]

系統只要在合理範圍內執行,「一定會」經歷某種程度的分頁錯誤。因為剛執行的應用程式剛被載入記憶體時,一定會發生分頁錯誤。