什麼是虛擬記憶體,什麼是windows虛擬記憶體

2022-04-10 07:55:31 字數 5235 閱讀 7663

1樓:街舞彬彬

不知大家發現沒有,在windows 2000(xp)目錄下有一個名為pagefile.sys的系統檔案(windows 98下為win386.swp),它的大小經常自己發生變動,小的時候可能只有幾十兆,大的時候則有數百兆,這種毫無規律的變化實在讓很多人摸不著頭腦。

其實,pagefile.sys是windows下的一個虛擬記憶體,它的作用與實體記憶體基本相似,但它是作為實體記憶體的「後備力量」而存在的,也就是說,只有在實體記憶體已經不夠使用的時候,它才會發揮作用。

虛擬記憶體的產生

我們都知道,雖然在執行速度上硬碟不如記憶體,但在容量上記憶體是無法與硬碟相提並論的。當執行一個程式需要大量資料、佔用大量記憶體時,記憶體就會被「塞滿」,並將那些暫時不用的資料放到硬碟中,而這些資料所佔的空間就是虛擬記憶體。現在我們也明白為什麼pagefile.

sys的大小會經常變化了。

2樓:周大一

windows作業系統用虛擬記憶體來動態管理執行時的交換檔案。為了提供比實際實體記憶體還多的記憶體容量以供使用,windows作業系統佔用了硬碟上的 一部分空間作為虛擬記憶體。當cpu有要求時,首先會讀取記憶體中的資料。

當記憶體容量不夠用時,windows就會將需要暫時儲存的資料寫入硬碟。所以,計算機的記憶體大小等於實際實體記憶體容量加上「分頁檔案」(就是交換檔案)的大小。如果需要的話,「分頁檔案」會動用硬碟上所有可以使用的空間。

什麼是虛擬記憶體

3樓:北京瑞星資訊科技股份****

您好:虛擬記憶體別稱虛擬儲存器(virtual memory)。電腦中所執行的程式均需經由記憶體執行,若執行的程式佔用記憶體很大或很多,則會導致記憶體消耗殆盡。

為解決該問題,windows中運用了虛擬記憶體[1]技術,即勻出一部分硬碟空間來充當記憶體使用。當記憶體耗盡時,電腦就會自動呼叫硬碟來充當記憶體,以緩解記憶體的緊張。若計算機執行程式或操作所需的隨機儲存器(ram)不足時,則 windows 會用虛擬儲存器進行補償。

它將計算機的ram和硬碟上的臨時空間組合。當ram執行速率緩慢時,它便將資料從ram移動到稱為「分頁檔案」的空間中。將資料移入分頁檔案可釋放ram,以便完成工作。

一般而言,計算機的ram容量越大,程式執行得越快。若計算機的速率由於ram可用空間匱乏而減緩,則可嘗試通過增加虛擬記憶體來進行補償。但是,計算機從ram讀取資料的速率要比從硬碟讀取資料的速率快,因而擴增ram容量(可加記憶體條)是最佳選擇。

什麼是windows虛擬記憶體?

4樓:織布大王盧夫人

虛擬記憶體是計算機系統記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體(一個連續完整的地址空間),而實際上,它通常是被分隔成多個實體記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。目前,大多數作業系統都使用了虛擬記憶體,如windows家族的「虛擬記憶體」;linux的「交換空間」等。

windows 8/8.1 作業系統如出現開機時卡在windows徽標頁面,無法進入系統,必須強制關機再重啟才能開啟時,可適當調整虛擬記憶體設定解決。

虛擬記憶體別稱虛擬儲存器(virtual memory)。電腦中所執行的程式均需經由記憶體執行,若執行的程式佔用記憶體很大或很多,則會導致記憶體消耗殆盡。為解決該問題,windows中運用了虛擬記憶體技術,即勻出一部分硬碟空間來充當記憶體使用。

當記憶體耗盡時,電腦就會自動呼叫硬碟來充當記憶體,以緩解記憶體的緊張。若計算機執行程式或操作所需的隨機儲存器(ram)不足時,則 windows 會用虛擬儲存器進行補償。它將計算機的ram和硬碟上的臨時空間組合。

當ram執行速率緩慢時,它便將資料從ram移動到稱為「分頁檔案」的空間中。將資料移入分頁檔案可釋放ram,以便完成工作。 一般而言,計算機的ram容量越大,程式執行得越快。

若計算機的速率由於ram可用空間匱乏而減緩,則可嘗試通過增加虛擬記憶體來進行補償。但是,計算機從ram讀取資料的速率要比從硬碟讀取資料的速率快,因而擴增ram容量(可加記憶體條)是最佳選擇。

虛擬記憶體是什麼意思,怎麼設定?

5樓:

一般的情況設定為記憶體的2--3倍就可以了

6樓:

用硬碟一部分空間作為記憶體使用。。。速度比較慢。。。應急之用。。。王道還是加記憶體吧~~~瓶頸啊

7樓:帝國權杖

若是系統說虛擬記憶體空間不夠,其實與虛擬記憶體無關。

而是實體記憶體空間不夠,修改虛擬記憶體也沒有用(虛擬記憶體是在硬碟上的,速度達不到實體記憶體的要求。虛擬記憶體也只是在實體記憶體不足時稍加補充之用)。唯一的選這就是買記憶體條。

8樓:o浪漫跑跑

就是在硬碟中劃出一個部分當作記憶體來用,

有本書上是這樣說的:實體記憶體<256m 虛擬應該記憶體設為256*2.5=760 保留10-20m到,系統盤剩下的設到其他盤;實體記憶體》256m 虛擬應該記憶體設為256*2=512 保留10-30m到,系統盤剩下的設到其他盤;實體記憶體》512m 禁用虛擬記憶體.

不管系統的分割槽有多大保留一定的空間(10-30)有助於系統的提高.如果你的是整合顯示卡的話,那麼你的虛擬記憶體再相應設大一點.整合顯示卡都沒有單獨的記憶體,它的記憶體都是借用主機板上的記憶體.

9樓:分子核心

1、虛擬記憶體:實際上就是把外存當記憶體用。通俗地講,顧名思義就是把不是記憶體的東西當記憶體用。

但是一個很嚴重的問題就是外存的速度相對於記憶體要緩慢的多,所以虛擬記憶體雖然在一定程度上增加了可用記憶體但是在總體上降低了記憶體響應速度。

2、那麼虛擬記憶體的大小多大合適呢?個人的建議是不要超過實體記憶體的1.5倍,退一步也不要超過2倍。

3、硬碟的的速度也會影響虛擬記憶體的大小最佳值。對於固態硬碟或者1萬轉速的硬碟來說虛擬記憶體可以略微大點,而對於我們這種7200普通轉速硬碟最好適中點,而採用5200轉硬碟的更應小點不

4、建議大家不要禁用虛擬記憶體,畢竟禁用了虛擬記憶體出現記憶體溢位的可能性就增大了,而且確實有些程式會出問題。

10樓:

這個問題前面已經有n個人問過了

什麼是實體記憶體和虛擬記憶體?

11樓:

1、實體記憶體是指由於安裝記憶體條而獲得的臨時儲存空間。主要作用是在計算機執行時為作業系統和各種程式提供臨時儲存。常見的實體記憶體規格有256m、512m、1g、2g等,當實體記憶體不足時,可以用虛擬記憶體代替。

2、虛擬記憶體是計算機系統記憶體管理的一種技術。它使得應用程式認為它擁有連續可用的記憶體(一個連續完整的地址空間),它通常是被分隔成多個實體記憶體碎片,還有部分暫時儲存在外部磁碟儲存器上,在需要時進行資料交換。

擴充套件資料

虛擬記憶體工作原理:

1、虛擬記憶體**處理器訪問主存的邏輯地址分解成組號a和組內地址b,並對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組資訊是否存放在主存內。

2、虛擬記憶體基於對地址空間的重定義的,即把地址空間定義為「連續的虛擬記憶體地址」,以藉此「欺騙」程式,使它們以為自己正在使用一大塊的「連續」地址。

12樓:一直注視著你

1、應用中的概念。

實體記憶體,在應用中,自然是顧名思義,物理上,真實的插在板子上的記憶體是多大就是多大了。看機器配置的時候,看的就是這個實體記憶體。

虛擬記憶體,這個概念就要稍微瞭解一下cpu了,^_^,只是稍微,畢竟我們現在談的是應用中的概念。我們應該知道,對於一般的32位cpu,有32根地址線,那麼它的定址空間就是4gb。也就是說,如果沒有其他的限制,我們的主機板上最大可以安裝4gb的實體記憶體。

哈哈,一般的機器是不會裝那麼多實體記憶體的,大把的銀子啊,價效比可合不上。程式設計師可不管這個,我們對cpu程式設計,不能一臺機器根據你實體記憶體的大小我編一個程式吧?那也太原始社會了吧。

所以程式設計師都是直接使用的4gb的奢侈的程序空間(或許,不應該用奢侈這麼短視的詞。曾幾何時,128m的實體記憶體也是我們不可想象的呢?)。

這怎麼辦?總不能不用那些程式了吧。好吧,這個問題交給os去解決吧。

這樣,os就提出了一個虛擬記憶體的概念。就是程序、使用者、不必考慮實際上實體記憶體的限制,而直接對4gb的程序空間進行定址。如果所定址的資料實際上不在實體記憶體中,那就從「虛擬記憶體」中來獲取。

這個虛擬記憶體可以是一個專門檔案格式的磁碟分割槽(比如linux下的swap分割槽),也可以是硬碟上的某個足夠大的檔案(比如win下的那個i386檔案,好像是這個名字)。實體記憶體中長期不用的資料,也可以轉移到虛擬記憶體中。這樣的交換由os來控制,使用者看起來就好像實體記憶體大了一樣。

有了虛擬記憶體的概念,我們就可以自由的使用4gb的程序空間了。但是,前提是你的硬碟由足夠的空間,而且你捨得劃分出(4gb-實體記憶體)大的虛擬記憶體空間來。^_^。

一般情況下,虛擬記憶體的大小,各個os也進行了限制(比如linux的swap分割槽的大小,win下也可以調整虛擬記憶體檔案的大小和位置)。所以,我們程式所能使用的儲存空間大小就是:實體記憶體+虛擬記憶體。

2、cpu中的概念。

實體記憶體,cpu的地址線可以直接進行定址的記憶體空間大小。比如8086只有20根地址線,那它的定址空間就是1mb。我們就說8086能支援1mb的實體記憶體。

即使我們安裝了128m的記憶體條在板子上,我們也只能說8086擁有1mb的實體記憶體空間。同理32位的386以上cpu,就可以支援最大4gb的實體記憶體空間了。

虛擬記憶體,這便是一個和cpu的定址方式有關的一個概念了。x86體系結構中,為了更好的管理記憶體空間,採用分段的方式來對記憶體進行定址。比如8086就用兩個位元組的段基地址和兩個位元組的偏移地址來定址整個可以定址的記憶體空間,即:

0000:0000方式(具體怎麼計算出實際的地址,參見各種彙編教材)。這樣,對整個1mb的實體記憶體空間定址是沒有問題了。

可是,用這種方式,最大可以定址到10ffef這個地址。這超出了20根地址線的地址的ffef大小的空間,就可以說是8086的虛擬記憶體了,所以可以說8086的虛擬記憶體地址空間可以達到10ffef。^_^,具體怎麼使用和看待這段記憶體,還取決於a20線的選通與否了,這是另外的話題了。

同樣的道理,386以上的cpu,由於在保護模式下使用了gdt和ldt,將段的定義放到了記憶體中,從而可以使用16位的段地址和32位的偏移地址。這樣算來,386以上的cpu的虛擬記憶體地址空間就可以達到64tb了。真是大的驚人,看來,這麼大的地址空間,一時還不能被軟體的發展淘汰。

3、零碎的叫法。

零碎的叫法常常來自與相對感覺深奧詼澀的虛擬記憶體概念。物理的東西,人們大多不去碰它,畢竟是實實在在存在的。而虛擬記憶體就經常有別冒名頂替的。

「一個程序有4個gb的虛擬記憶體」這樣的說法屢見不鮮,其實,這是混淆了4gb的程序地址空間和虛擬記憶體這兩個概念。也算令一種解釋吧,畢竟那4個gb也是見不著影的,也是虛擬的。

什麼是虛擬記憶體值 什麼是虛擬記憶體

實體記憶體 也就是記憶體條 不可能無限大,所以微軟為解決這一難題採用了虛擬記憶體,也就是在硬碟上劃出一定的區域 也就是大家說得大小mb 用於零時資料的交換,大小跟記憶體大小沒關係,一般說來記憶體小的虛擬記憶體就大一些,記憶體大的虛擬記憶體就可以小一些,一般設成讓系統自己管理即可,一般當記憶體大於1g...

什麼是虛擬記憶體,什麼是windows虛擬記憶體

虛擬記憶體是系統在硬碟上劃出一部分空間來儲存資訊的,用處和記憶體一樣,但是速度慢,若你的記憶體大於512兆可以把虛擬記憶體設為256 512,若你的記憶體大於1g則基本不需要虛擬記憶體,可設為0 什麼是虛擬記憶體?虛擬記憶體是計算機系統記憶體管理的一種技術。它使得應用程式認為它擁有連續的可用的記憶體...

什麼是虛擬記憶體?什麼又是實體記憶體

樓上說的,想讓人睡覺,我來說個簡單點的!虛擬就是硬碟裡的一些空間轉換的東西!實體記憶體就簡單了,你記憶體條一共是多少m的,你實體記憶體就多少!就指你記憶體條的容量!記憶體一般都是放一些臨時資料,像 暫住房屋 簡單點說,虛擬記憶體就是由硬碟內的檔案來暫放時事資料。而實體記憶體是通過記憶體條來實現暫放的...