虛擬內存是計算機係統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。
與沒有使用虛擬內存技術的係統相比,使用這種技術的係統使得大型程序的編寫變得更容易,對真正的物理內存(例如RAM)的使用也更有效率。
虛擬內存不隻是“用磁盤空間來擴展物理內存”的意思——這隻是擴充內存級別以使其包含硬盤驅動器而已。把內存擴展到磁盤隻是使用虛擬內存技術的一個結果,它的作用也可以通過覆蓋或者把處於不活動狀態的程序以及它們的數據全部交換到磁盤上等方式來實現。對虛擬內存的定義是基於對地址空間的重定義的,即把地址空間定義為“連續的虛擬內存地址”,以借此“欺騙”程序,使它們以為自己正在使用一大塊的“連續”地址。
通過上麵的介紹,可以發現,網上盛傳的虛擬內存使用硬盤的說法並不準確,而且也給出了一個很明確的說法,使用虛擬內存不但不會拖慢物理內存的速度,反而會使得物理內存變得更有效率!
那麼第一段的第二個問題就明白了,開不開虛擬內存呢?開!
虛擬內存開多少呢?
現在就剩下第一個問題了,虛擬內存開多少呢?怎麼設置呢?下麵在引用一段資料 (引自維基) Windows 用於實現虛擬內存的文件則以係統分區根目錄下的頁麵文件 pagefile.sys(具有隱藏、係統屬性)形式來保存。當物理內存與頁麵文件皆不夠用時,係統會自動生成temppf.sys(意為temporary pagefile,臨時頁麵文件)進行補足,temppf.sys的大小在頁麵文件的大小和最大值之間。
由於虛擬內存使用了硬盤,硬盤上非連續寫入的文件會產生磁盤碎片,因此一旦用於實現虛擬內存的文件或分區過於零碎,會加長硬盤的尋道時間,影響係統性能。
有觀點誤認為Windows係統頻繁讀寫pagefile.sys就會產生磁盤碎片,實則不然。因為pagefile.sys文件一旦創立,在分區中的分布連續形式就固定下來,文件內部讀寫並不增加或減少pagefile.sys的文件大小。僅當頁麵文件告罄後係統創建的temppf.sys會帶來磁盤碎片。
上麵那段如果你不愛看,可以看一下我總結的:
如果你設置的虛擬內存不夠用了,就會建立臨時虛擬內存,而這個臨時的虛擬內存會導致性能下降,而且會產生磁盤碎片
虛擬內存設置這個主要看你的電腦是什麼配置了,
1、如果你的內存小於4G,那麼建議將虛擬內存設置為1.5倍或者2倍於你的物理內存;
2、如果你的內存4G-8G,那麼建議將虛擬內存設置為1倍或者1.5倍於你的物理內存;
3、8G以上,那麼建議將虛擬內存設置為1倍物理內存。