在windows 9x時代,例如windows 98,用於實現虛擬記憶體的檔案存放在系統分割槽的根目錄下。通常是系統分割槽根目錄下的win386.swp(具有隱藏、系統屬性)。有關虛擬記憶體設定則存放在系統目錄中的system.ini中,其中形似「pagingdrive=c:\win386.swp」的一行就是虛擬記憶體檔案路徑、檔名的設定。
在windows nt系列中,例如windows xp,用於實現虛擬記憶體的檔案則以系統分割槽根目錄下的頁面檔案 pagefile.sys(具有隱藏、系統屬性)形式來儲存。這些檔案的大小——即pagefile.sys檔案大小的預設值是物理記憶體的1.5倍。同時,頁面檔案可以設定乙個比平常值大的最大值,當物理記憶體與頁面檔案皆不夠用時,系統會自動生成temppf.sys(意為temporary pagefile,臨時頁面檔案)進行補足,temppf.sys的大小在頁面檔案的大小和最大值之間。
linux作業系統下虛擬記憶體實現
在linux作業系統支援兩種形式的交換空間:交換分割槽和交換檔案。 交換分割槽:在磁碟中專門分出乙個磁碟分割槽用於交換 交換檔案:建立乙個檔案用於交換 交換空間大小沒有規定特定的值,如果物理記憶體較小(小於512m位元組)時,一般設定為物理記憶體的1.5倍到2倍。
linux支援同時使用多個交換裝置,還能為它們分配給不同的優先順序。當需要交換出物理記憶體中頁時,作業系統根據優先順序順序選擇可用的交換裝置。如果有多個交換裝置優先順序相同,那麼它們是按照類似level 0 raid的方式分配使用的。如果能夠並行地訪問這些交換裝置的話,給他們分配相同的優先順序就能夠使系統效能得到提供。因此,分配優先順序的時候還應該特別注意一些問題。例如,在同一物理磁碟上的多個交換分割槽就不應該被並行地使用,而應該以訪問速度從高到底的順序使用。所以在只有一塊物理磁碟的時候,設定多個交換分割槽,並不能提高效能,反而可能會使效能下降。
頁面檔案與磁碟碎片
由於虛擬記憶體使用了硬碟,硬碟上非連續寫入的檔案會產生磁碟碎片,因此一旦用於實現虛擬記憶體的檔案或分割槽過於零碎,會加長硬碟的尋道時間,影響系統效能。有觀點誤認為windows系統頻繁讀寫pagefile.sys就會產生磁碟碎片,實則不然。因為pagefile.sys檔案一旦創立,在分割槽中的分布連續形式就固定下來,檔案內部讀寫並不增加或減少pagefile.sys的檔案大小。僅當頁面檔案告罄後系統建立的temppf.sys會帶來磁碟碎片。 而在linux系統中,將用於虛擬記憶體的部分置於單獨的分割槽中,不影響其他的分割槽或檔案,則基本杜絕了磁碟碎片帶來的影響。
什麼是虛擬記憶體?伺服器虛擬記憶體怎麼設定最好?
一 什麼是虛擬記憶體?虛擬 記憶體有什麼用處 作業系統中所執行所有的程式全部都是經過記憶體提交給cpu然後才執行的,不過若是執行的程式占用記憶體很多或很大 則會導致記憶體消耗殆盡 為解決內在消耗殆盡的問題 windows作業系統運用了虛擬記憶體技術 簡單的說就是把一部分硬碟空間充當記憶體使用,雖然硬...
為什麼要有虛擬記憶體
程式設計師的自我修養 第一章14頁對這部分講的就很清楚,建議有需要的去看一下,我這裡簡單做下總結和筆記 引用一句大佬的話 電腦科學領域的任何問題都可以通過增加乙個間接的中間層來解決 那麼直接用實體地址出現了什麼問題?而怎加了虛擬位址這個中介軟體為什麼可以解決它們?實體地址是連續的,直接使用實體地址,...
為什麼要有虛擬記憶體
1.早先計算機只有物理記憶體有什麼缺點 1.1 連續的物理記憶體,造成程序之間資料可能相互混合,造成資料安全問題 1.2 當物理記憶體不夠的時候,會用到磁碟,這樣磁碟到記憶體間切換,造成訪問效率問題 2 虛擬記憶體概念 頁 4kb 葉匡 4kb 頁表 頁 頁是虛擬記憶體上分段的最小單位4kb 葉匡 ...