本文主要介紹加內(nèi)存條能提高電腦的運(yùn)行速度嗎(加內(nèi)存條能提高電腦的運(yùn)行速度嗎?),下面一起看看加內(nèi)存條能提高電腦的運(yùn)行速度嗎(加內(nèi)存條能提高電腦的運(yùn)行速度嗎?)相關(guān)資訊。
讓 今天我們來(lái)談?wù)勔粋€(gè)簡(jiǎn)單的問(wèn)題。增加內(nèi)存會(huì)讓你的電腦更快嗎?
要回答這個(gè)問(wèn)題,我們需要知道cpu、內(nèi)存和程序的關(guān)系,其實(shí)很簡(jiǎn)單:
首先,可執(zhí)行程序存儲(chǔ)在磁盤(pán)中(當(dāng)然也可以是其他介質(zhì))。實(shí)際上,可執(zhí)行程序主要包含兩部分:機(jī)器指令和指令所依賴(lài)的數(shù)據(jù);
當(dāng)一個(gè)程序運(yùn)行時(shí),它首先被加載到內(nèi)存中,加載到內(nèi)存中的程序突然變成了我們所說(shuō)的進(jìn)程。當(dāng)然,內(nèi)存中還運(yùn)行著另一個(gè)特殊的程序:操作系統(tǒng)。
只有當(dāng)cpu實(shí)際執(zhí)行機(jī)器指令時(shí),相應(yīng)的進(jìn)程才開(kāi)始運(yùn)行。這時(shí),cpu不斷地從內(nèi)存中取出指令并執(zhí)行。當(dāng)然,除了機(jī)器指令,它還需要讀取內(nèi)存中的數(shù)據(jù)。
可以看出,程序運(yùn)行時(shí),與cpu交互的是內(nèi)存,而不是磁盤(pán)。存儲(chǔ)器存儲(chǔ)指令和數(shù)據(jù),而cpu使用指令和數(shù)據(jù)。所以從這個(gè)角度來(lái)說(shuō),這是一個(gè)類(lèi)似于生產(chǎn)者和消費(fèi)者的問(wèn)題。內(nèi)存像廚師,cpu像食客。如果廚師上菜太慢,食客就會(huì)挨餓。
此外,操作系統(tǒng)對(duì)內(nèi)存的使用也不容忽視。
操作系統(tǒng)如何使用內(nèi)存?為了充分利用內(nèi)存和磁盤(pán)資源,現(xiàn)代操作系統(tǒng)中有很多非常巧妙的設(shè)計(jì)。
因?yàn)閏pu一次只能運(yùn)行一個(gè)程序,即使在多核系統(tǒng)中,同時(shí)存在的進(jìn)程數(shù)量也遠(yuǎn)遠(yuǎn)多于核的數(shù)量,這就意味著在某個(gè)時(shí)刻并不是所有的程序都在運(yùn)行,即使對(duì)于正在運(yùn)行的進(jìn)程,進(jìn)程地址空間中也總會(huì)有一些指令或數(shù)據(jù)因?yàn)榫植啃栽矶鴷簳r(shí)不可用。
基于這些,操作系統(tǒng)的先驅(qū)們看到了充分利用內(nèi)存的機(jī)會(huì)。我們可以把暫時(shí)不用的指令或者數(shù)據(jù)放到磁盤(pán)上(換出),然后在使用這些數(shù)據(jù)或者指令的時(shí)候再加載到內(nèi)存中(換入),這樣內(nèi)存中就有更多的空間來(lái)運(yùn)行更多的進(jìn)程。這種思想在操作系統(tǒng)中稱(chēng)為按需分頁(yè),屬于虛擬內(nèi)存的一部分。
其次,操作系統(tǒng)會(huì)將剩余的空閑內(nèi)存用作磁盤(pán)緩存。有時(shí)當(dāng)系統(tǒng)負(fù)載較低時(shí),我們的程序可以 不能充分利用內(nèi)存,那么這些閑置的內(nèi)存真的沒(méi)用嗎?顯然不是。我們知道磁盤(pán)是一種低速存儲(chǔ)設(shè)備。既然如此,為什么不用空閑的物理內(nèi)存作為磁盤(pán)的緩存呢?
大家可能都有這種經(jīng)歷。打開(kāi)一個(gè)全新的文件通常會(huì)很慢,但是當(dāng)你再次使用該文件時(shí),你會(huì)明顯感覺(jué)會(huì)快很多。這就是背后的原理。如果此時(shí)內(nèi)存不足,操作系統(tǒng)將沒(méi)有磁盤(pán)緩存那么多空閑內(nèi)存。這個(gè)時(shí)候,你會(huì)真正體驗(yàn)到盤(pán)面蝸牛般的速度。
現(xiàn)在,我們可以回答開(kāi)頭提出的問(wèn)題,增加內(nèi)存會(huì)讓電腦提速嗎?顯然,這是分兩種情況來(lái)討論的。
充足的內(nèi)存如果你的內(nèi)存本身就足夠,在這種情況下增加更多的內(nèi)存并不會(huì)讓你的電腦運(yùn)行的更快,因?yàn)樽鳛橛貌驼叩腸pu的速度是有限的,廚師做的菜也沒(méi)有更多的,你可以 不要讓食客吃得更快。
it 這就像問(wèn)給卡車(chē)裝更多的輪子會(huì)不會(huì)讓它跑得更快?
答案顯然不是。雖然這不會(huì)讓卡車(chē)跑得更快,但是增加更多的車(chē)輪會(huì)讓卡車(chē)的載重更高。
記憶也是如此。雖然增加更多的內(nèi)存不會(huì)使計(jì)算機(jī)運(yùn)行得更快,但它顯然會(huì)讓我們同時(shí)運(yùn)行更多的程序。
增加更多的內(nèi)存意味著可以同時(shí)打開(kāi)更多的瀏覽器頁(yè)面,同時(shí)打開(kāi)更多的虛擬機(jī),同時(shí)渲染更多的高清視頻,同時(shí)處理更復(fù)雜的3d模型,同時(shí)訓(xùn)練更多的機(jī)器學(xué)習(xí)模型。這個(gè)時(shí)候你的內(nèi)存不是瓶頸,cpu很可能會(huì)成為瓶頸,因?yàn)閏pu的運(yùn)行速度是有限的,也就是每秒執(zhí)行的機(jī)器指令數(shù)。
這時(shí)候內(nèi)存不足,廚師上菜太慢,食客總是餓著肚子,廚師需要多上幾道菜。
我們知道,大多數(shù)程序在運(yùn)行過(guò)程中會(huì)頻繁地申請(qǐng)內(nèi)存。申請(qǐng)內(nèi)存是一個(gè)看似簡(jiǎn)單實(shí)則非常復(fù)雜的操作,尤其是在系統(tǒng)內(nèi)存不足的場(chǎng)景下。這個(gè)時(shí)候申請(qǐng)內(nèi)存往往會(huì)涉及到更復(fù)雜的搜索或者異常處理,我們程序的運(yùn)行速度會(huì)明顯變慢。
當(dāng)內(nèi)存不足時(shí),磁盤(pán)和內(nèi)存之間可能會(huì)有更多的交換。此時(shí)系統(tǒng)的速度會(huì)受到磁盤(pán)的限制,并且由于磁盤(pán)文件無(wú)法緩存,打開(kāi)進(jìn)程或者打開(kāi)文件的速度會(huì)明顯變慢。
在這種情況下,增加內(nèi)存會(huì)更好地養(yǎng)活cpu,所以會(huì)明顯加快電腦的運(yùn)行速度。
總結(jié)從上面的分析我們知道,增加內(nèi)存能否讓電腦提速,取決于你的場(chǎng)景。如果你的設(shè)備有足夠的內(nèi)存,那么增加內(nèi)存不會(huì)明顯加快計(jì)算機(jī)的速度。
了解更多加內(nèi)存條能提高電腦的運(yùn)行速度嗎(加內(nèi)存條能提高電腦的運(yùn)行速度嗎?)相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。