?現(xiàn)在還有必要存在了嗎(虛擬內(nèi)存是什么)
用電腦的朋友應(yīng)該都知道虛擬內(nèi)存這個(gè)東西,它存在的時(shí)間比一些年齡小的朋友歲數(shù)還大,早在windows2000時(shí)代就已經(jīng)存在虛擬內(nèi)存選項(xiàng),雖然我們總是看到這個(gè)東西但很多朋友并不明白虛擬內(nèi)存到底有什么用,所以虛擬內(nèi)存到底是什么?
其實(shí)虛擬內(nèi)存最開始存在的起因是因?yàn)楫?dāng)時(shí)的電腦內(nèi)存有限,系統(tǒng)和CPU均為32位,而32位支持物理內(nèi)存的極限為3.25G,在應(yīng)對(duì)一些大型應(yīng)用的時(shí)候經(jīng)常會(huì)捉襟見肘,于是虛擬內(nèi)存便應(yīng)運(yùn)而生。
虛擬內(nèi)存其實(shí)就是將一部分硬盤空間劃分出來當(dāng)做內(nèi)存來使用,放在內(nèi)存讀取順序的最末端優(yōu)先度上,應(yīng)用程序認(rèn)為自己是在一個(gè)連續(xù)完整的物理內(nèi)存空間上,而實(shí)際上該程序已經(jīng)被分割成為多個(gè)物理內(nèi)存的碎片。
一部分碎片被存放在虛擬內(nèi)存也就是硬盤的預(yù)留空間上,在將要被使用時(shí)這部分?jǐn)?shù)據(jù)被重新提取到內(nèi)存中,于是呈現(xiàn)出一種內(nèi)存大小提高的假象,提高運(yùn)行速度。
那么只有windows有這個(gè)功能嗎?其實(shí)在linux上同樣也存在這個(gè)功能,只不過它的名字不叫虛擬內(nèi)存,而是叫做“交換空間”,原理和作用都是一樣的。
那么它詳細(xì)的原理是什么?我們知道即使開了虛擬內(nèi)存,硬盤上也不會(huì)出現(xiàn)一大堆文件,其實(shí)原理是這樣的:CPU先查詢應(yīng)用程序的數(shù)據(jù)是否存在于物理內(nèi)存上,如果存在的話就直接調(diào)用,沒有的話就放入硬盤中。
而這些文件并不會(huì)直接放進(jìn)硬盤的正常位置,而是放進(jìn)一個(gè)名為Pagefile.sys的文件中;當(dāng)該程序需要的數(shù)據(jù)在物理內(nèi)存中無法尋找到時(shí),虛擬內(nèi)存中的文件便會(huì)被調(diào)動(dòng)回物理內(nèi)存。
說了這么多,虛擬內(nèi)存該怎么設(shè)置?
根據(jù)目前的建議來看虛擬內(nèi)存大多數(shù)情況下建議設(shè)置1.倍到3倍于物理內(nèi)存的大小,雖然windows會(huì)自動(dòng)為你設(shè)置虛擬內(nèi)存的大小,不過你依然可以手動(dòng)設(shè)置。
那么如今大家早已進(jìn)入64位時(shí)代,每個(gè)人的電腦內(nèi)存容量都越來越大,16G已經(jīng)成為了正常水平,虛擬內(nèi)存是否還有存在的必要?
其實(shí)是有的,但不是所有情況。在我們?nèi)粘J褂眠^程中16G內(nèi)存足夠支撐我們完成絕大多數(shù)工作,但虛擬內(nèi)存的存在有時(shí)候和物理內(nèi)存的大小無關(guān)。
例如深度學(xué)習(xí)、科學(xué)實(shí)驗(yàn)計(jì)算等應(yīng)用程序,他們的軟件會(huì)自動(dòng)將大量數(shù)據(jù)放入虛擬內(nèi)存中,細(xì)心且用過這類軟件的用戶應(yīng)該會(huì)發(fā)現(xiàn)不論自己內(nèi)存有多大,在虛擬內(nèi)存中總會(huì)有幾個(gè)G的數(shù)據(jù)。
這部分?jǐn)?shù)據(jù)不放進(jìn)內(nèi)存的原因很簡(jiǎn)單:需要調(diào)用的次數(shù)并不多且占用空間極大,軟件會(huì)自動(dòng)為你放入虛擬內(nèi)存來節(jié)省物理內(nèi)存空間,這種做法從某種程度上來說是雙刃劍,如果你關(guān)閉了虛擬內(nèi)存反倒會(huì)讓軟件產(chǎn)生不適應(yīng)從而出現(xiàn)問題;
除此之外高運(yùn)算的軟件都會(huì)非常吃內(nèi)存,虛擬內(nèi)存的存在就是為了滿足這類軟件的內(nèi)存攝入,甚至有的軟件對(duì)虛擬內(nèi)存有著針對(duì)性需求,如果沒有打開虛擬內(nèi)存軟件就會(huì)報(bào)錯(cuò)。
總體來說虛擬內(nèi)存已經(jīng)成為了我們系統(tǒng)使用過程中的一個(gè)重要功能,不少軟件就算只能用得上1G內(nèi)存也非要分出一點(diǎn)占用在虛擬內(nèi)存中。
如果關(guān)閉的話甚至?xí)?dǎo)致軟件崩潰,以目前我們內(nèi)存容量來說8G的內(nèi)存建議分配20G虛擬內(nèi)存,而16G內(nèi)存的話分配24G就足夠了,如果分的太大反而會(huì)因?yàn)橛脖P的大規(guī)模連續(xù)讀寫而導(dǎo)致硬盤壽命嚴(yán)重降低。
本站部分文章來自網(wǎng)絡(luò)或用戶投稿。涉及到的言論觀點(diǎn)不代表本站立場(chǎng)。閱讀前請(qǐng)查看【免責(zé)聲明】發(fā)布者:方應(yīng),如若本篇文章侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。本文鏈接:http://www.256680.cn/life/104523.html