0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

增加更多內(nèi)存會讓你的計(jì)算機(jī)速度變快嗎?

小林coding ? 來源:小林coding ? 作者:小林coding ? 2022-11-09 14:11 ? 次閱讀

今天聊一個簡單的問題,增加更多內(nèi)存會讓你的計(jì)算機(jī)速度變快嗎?

要想解答這個問題,我們需要知道cpu、內(nèi)存與程序這幾者的關(guān)聯(lián),實(shí)際上非常簡單:

47361a5e-5ff2-11ed-8abf-dac502259ad0.png

首先,可執(zhí)行程序存儲在磁盤中(當(dāng)然也可以是其它介質(zhì)),可執(zhí)行程序中實(shí)際上主要包含兩部分內(nèi)容:機(jī)器指令以及指令依賴的數(shù)據(jù);

程序運(yùn)行時首先被加載(load)到內(nèi)存中,被加載到內(nèi)存中的程序搖身一變就成為了我們說的進(jìn)程,當(dāng)然,內(nèi)存中還運(yùn)行著另一種特殊的程序:操作系統(tǒng)。

只有當(dāng)CPU真正執(zhí)行機(jī)器指令時相應(yīng)的進(jìn)程才開始運(yùn)行,此時CPU不斷的從內(nèi)存中取出指令并執(zhí)行指令,當(dāng)然除了機(jī)器指令外還需要讀取內(nèi)存中的數(shù)據(jù)。

可以看到,當(dāng)程序運(yùn)行時與CPU交互的是內(nèi)存而不是磁盤,內(nèi)存中存儲指令和數(shù)據(jù)、而CPU使用指令和數(shù)據(jù),因此從這個角度看這是一個類似生產(chǎn)者與消費(fèi)者問題,內(nèi)存就好比大廚、CPU好比食客,如果大廚上菜太慢那么食客就要挨餓。

除此之外,操作系統(tǒng)對內(nèi)存的使用也不可忽略。

操作系統(tǒng)是如何利用內(nèi)存的?

為充分利用內(nèi)存與磁盤資源,現(xiàn)代操作系統(tǒng)中有很多非常聰明的設(shè)計(jì)。

由于CPU一次只能運(yùn)行一個程序,即使在多核系統(tǒng)中一般來說同時存在的進(jìn)程數(shù)遠(yuǎn)遠(yuǎn)多于核數(shù),也就是說在某一個時刻并不是所有的程序都在運(yùn)行,即使對正在運(yùn)行的進(jìn)程來說由于局部性原理的存在,進(jìn)程地址空間中總會有一部分指令或者數(shù)據(jù)是暫時用不到的。

基于這些,操作系統(tǒng)先驅(qū)們看到了可以充分利用內(nèi)存的機(jī)會,我們可以**將暫時用不到的指令或者數(shù)據(jù)放到磁盤上去(swap out),當(dāng)使用這些數(shù)據(jù)或者指令時再從磁盤加載到內(nèi)存中(swap in)**。

這樣內(nèi)存中不就有更多空間運(yùn)行更多進(jìn)程了嗎?

這種思想在操作系統(tǒng)中被稱之為demand paging,屬于虛擬內(nèi)存的一部分。

479f3714-5ff2-11ed-8abf-dac502259ad0.png

其次,操作系統(tǒng)會將剩余的空閑內(nèi)存當(dāng)做磁盤緩存,有時當(dāng)系統(tǒng)負(fù)載較低時,我們的程序并不能充分利用內(nèi)存,那么這些空閑的內(nèi)存就真的毫無用處了嗎?

顯然不是的,我們知道磁盤是一種低速的存儲設(shè)備,既然這樣為什么不把空閑的物理內(nèi)存當(dāng)做磁盤的緩存呢?

大家可能都有這樣的體驗(yàn),開始打開一個全新的文件時通常會比較慢,但當(dāng)你再次使用該文件時將明顯感覺到速度會快很多,背后的原理就在于此,如果此時你的內(nèi)存不足,那么操作系統(tǒng)就沒有那么多的空閑內(nèi)存來當(dāng)做磁盤緩存,此時你將真正體驗(yàn)到磁盤蝸牛般的速度。

47b8db60-5ff2-11ed-8abf-dac502259ad0.png

現(xiàn)在,我們就可以回答開始提出的問題了,增加內(nèi)存會加快計(jì)算機(jī)運(yùn)行速度嗎?

顯然這樣分為兩種情況來討論:

內(nèi)存充足

內(nèi)存不充足

內(nèi)存充足

如果你的內(nèi)存本身就很充足,那么在這種情況下增加更多內(nèi)存將不會讓你的計(jì)算機(jī)跑的更快,因?yàn)镃PU作為食客吃飯的速度是有限的,大廚做的菜再多也沒有,你也沒辦法讓食客吃的再快一些。

這就好比你問給一輛卡車裝更多輪子會讓開車跑得更快嗎?

答案顯然不是的,盡管這并不能讓卡車跑得更快,但增加更多輪子會讓貨車有更高的載重。

對內(nèi)存來說也是這樣,盡管增加更多內(nèi)存并不能讓計(jì)算機(jī)跑得更快,但這顯然會讓我們可以同時運(yùn)行更多程序。

增加更多內(nèi)存意味著你可以同時開啟更多瀏覽器網(wǎng)頁、可以同時開啟更多虛擬機(jī)、同時渲染更多高清視頻、同時處理更多復(fù)雜的3D模型、同時訓(xùn)練更多機(jī)器學(xué)習(xí)模型等等。

此時你的內(nèi)存不是瓶頸,CPU將很可能成為瓶頸,因?yàn)镃PU的運(yùn)行速度也就是每秒內(nèi)執(zhí)行的機(jī)器指令數(shù)量是有限的。

內(nèi)存不足

此時大廚上菜速度太慢,食客總是挨餓,因此大廚需要上更多的菜。

我們知道,大部分程序在運(yùn)行過程中會頻繁的申請內(nèi)存,申請內(nèi)存是一項(xiàng)看似簡單實(shí)際上非常復(fù)雜的操作、尤其是在系統(tǒng)內(nèi)存不足的場景下,此時申請內(nèi)存往往涉及到更多復(fù)雜的查找或者異常處理,這時我們的程序運(yùn)行速度將會明顯變慢。

內(nèi)存不足時,磁盤與內(nèi)存之間可能會有更多的交換,此時系統(tǒng)的速度將受限于磁盤,并且由于不能緩存磁盤文件, 那么我們開啟進(jìn)程或者打開文件的速度將明顯變慢。

在這種情況下增加內(nèi)存將更好地喂飽CPU,因此將明顯加快計(jì)算機(jī)的運(yùn)行速度。

總結(jié)

從上述分析我們知道,關(guān)于增加內(nèi)存是否可以加快計(jì)算機(jī)速度取決于你的場景。

如果你的設(shè)備內(nèi)存充足,那么此時增加內(nèi)存不會明顯加快計(jì)算機(jī)運(yùn)行速度。

如果你的設(shè)備內(nèi)存不充足,那么此時增加內(nèi)存會明顯加快計(jì)算機(jī)運(yùn)行速度,因?yàn)榭梢詼p少磁盤與內(nèi)存之間交換次數(shù)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3073

    瀏覽量

    74429
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6910

    瀏覽量

    123887

原文標(biāo)題:增加內(nèi)存會讓計(jì)算機(jī)變快嗎?

文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    虛擬內(nèi)存和云計(jì)算的關(guān)系

    在現(xiàn)代計(jì)算機(jī)科學(xué)中,虛擬內(nèi)存和云計(jì)算是兩個關(guān)鍵的技術(shù)概念。虛擬內(nèi)存是一種內(nèi)存管理技術(shù),它允許計(jì)算機(jī)
    的頭像 發(fā)表于 12-04 09:50 ?197次閱讀

    虛擬內(nèi)存計(jì)算機(jī)性能的影響

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,內(nèi)存管理是確保系統(tǒng)高效運(yùn)行的關(guān)鍵因素之一。虛擬內(nèi)存技術(shù)作為內(nèi)存管理的核心組成部分,對于提升計(jì)算機(jī)性能和用戶體驗(yàn)起著至關(guān)重
    的頭像 發(fā)表于 12-04 09:17 ?1494次閱讀

    量子計(jì)算機(jī)與普通計(jì)算機(jī)工作原理的區(qū)別

    超越世界上最強(qiáng)大的超級計(jì)算機(jī),完成以前不可想象的任務(wù)!這意味著量子計(jì)算機(jī)可能徹底改變我們的生活。 在本文中,我們將先了解普通計(jì)算機(jī)的工作原理,再深入探討量子
    的頭像 發(fā)表于 11-24 11:00 ?576次閱讀
    量子<b class='flag-5'>計(jì)算機(jī)</b>與普通<b class='flag-5'>計(jì)算機(jī)</b>工作原理的區(qū)別

    計(jì)算機(jī)接口位于什么之間

    地傳輸。計(jì)算機(jī)接口可以分為內(nèi)部接口和外部接口兩大類。 內(nèi)部接口位于計(jì)算機(jī)內(nèi)部各個部件之間,如CPU、內(nèi)存、主板、硬盤、顯卡等。外部接口則位于計(jì)算機(jī)與外部設(shè)備之間,如鍵盤、鼠標(biāo)、顯示器、
    的頭像 發(fā)表于 10-14 14:02 ?599次閱讀

    計(jì)算機(jī)內(nèi)存容量有什么作用

    計(jì)算機(jī)內(nèi)存容量,作為一個核心概念,在計(jì)算機(jī)科學(xué)、信息技術(shù)以及日常使用中扮演著至關(guān)重要的角色。它不僅直接關(guān)系到計(jì)算機(jī)處理數(shù)據(jù)的能力,還影響著用戶體驗(yàn)、系統(tǒng)性能以及多任務(wù)處理的效率。在深
    的頭像 發(fā)表于 09-10 14:47 ?1345次閱讀

    內(nèi)存條接觸不良導(dǎo)致哪些情況

    內(nèi)存條接觸不良是一種常見的計(jì)算機(jī)故障,它可能導(dǎo)致多種問題,影響計(jì)算機(jī)的正常運(yùn)行。本文將詳細(xì)介紹內(nèi)存條接觸不良可能導(dǎo)致的各種情況,以及如何診
    的頭像 發(fā)表于 09-02 14:36 ?2773次閱讀

    晶體管計(jì)算機(jī)和電子管計(jì)算機(jī)有什么區(qū)別

    晶體管計(jì)算機(jī)和電子管計(jì)算機(jī)作為計(jì)算機(jī)發(fā)展史上的兩個重要階段,它們在多個方面存在顯著的區(qū)別。以下是對這兩類計(jì)算機(jī)在硬件、性能、應(yīng)用以及技術(shù)發(fā)展等方面區(qū)別的詳細(xì)闡述。
    的頭像 發(fā)表于 08-23 15:28 ?2342次閱讀

    DRAM在計(jì)算機(jī)中的應(yīng)用

    DRAM(Dynamic Random Access Memory,動態(tài)隨機(jī)存取存儲器)在計(jì)算機(jī)系統(tǒng)中扮演著至關(guān)重要的角色。它是一種半導(dǎo)體存儲器,用于存儲和快速訪問數(shù)據(jù),是計(jì)算機(jī)內(nèi)存的主要組成部分。以下是對DRAM在
    的頭像 發(fā)表于 07-24 17:04 ?1701次閱讀

    內(nèi)存容量與類型如何影響計(jì)算機(jī)性能

    內(nèi)存的容量與類型作為計(jì)算機(jī)硬件系統(tǒng)中的重要組成部分,對計(jì)算機(jī)的整體性能有著至關(guān)重要的影響。它們不僅決定了系統(tǒng)能夠同時處理的數(shù)據(jù)量大小,還影響著程序的運(yùn)行速度、系統(tǒng)的響應(yīng)能力以及多任務(wù)處
    的頭像 發(fā)表于 07-15 18:05 ?2813次閱讀

    計(jì)算機(jī)視覺屬于人工智能嗎

    屬于,計(jì)算機(jī)視覺是人工智能領(lǐng)域的一個重要分支。 引言 計(jì)算機(jī)視覺是一門研究如何使計(jì)算機(jī)具有視覺能力的學(xué)科,它涉及到圖像處理、模式識別、機(jī)器學(xué)習(xí)等多個領(lǐng)域。計(jì)算機(jī)視覺的目標(biāo)是
    的頭像 發(fā)表于 07-09 09:11 ?1465次閱讀

    工業(yè)控制計(jì)算機(jī)的特點(diǎn) 工業(yè)控制計(jì)算機(jī)的應(yīng)用領(lǐng)域

    工業(yè)控制計(jì)算機(jī)是一種專門為工業(yè)自動化和控制系統(tǒng)設(shè)計(jì)的計(jì)算機(jī)。它具有高度的可靠性、穩(wěn)定性和實(shí)時性,能夠滿足工業(yè)生產(chǎn)過程中對控制精度和響應(yīng)速度的嚴(yán)格要求。 工業(yè)控制計(jì)算機(jī)的特點(diǎn) 高可靠性
    的頭像 發(fā)表于 06-16 11:30 ?1632次閱讀

    工業(yè)計(jì)算機(jī)與普通計(jì)算機(jī)的區(qū)別

    在信息化和自動化日益發(fā)展的今天,計(jì)算機(jī)已經(jīng)成為了我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡墓ぞ?。然而,?b class='flag-5'>計(jì)算機(jī)領(lǐng)域中,工業(yè)計(jì)算機(jī)和普通計(jì)算機(jī)雖然都具備基本的計(jì)算
    的頭像 發(fā)表于 06-06 16:45 ?1675次閱讀

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】 跟我一起漫步量子計(jì)算

    領(lǐng)域產(chǎn)生深遠(yuǎn)影響,使人類在面對疾病時擁有更多的選擇和可能性。其次,在優(yōu)化問題方面,量子計(jì)算機(jī)同樣展現(xiàn)出強(qiáng)大的能力。傳統(tǒng)計(jì)算機(jī)難以解決的組合優(yōu)化問題,在量子計(jì)算機(jī)面前可能變得相對簡單。這
    發(fā)表于 03-13 19:28

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】第二章關(guān)鍵知識點(diǎn)

    計(jì)算機(jī)能夠減少計(jì)算和操作的繁瑣程度 作者從如何提高計(jì)算機(jī)的運(yùn)算速度上,提出了提高計(jì)算速度的兩個方向: 加快
    發(fā)表于 03-06 23:17

    【量子計(jì)算機(jī)重構(gòu)未來 | 閱讀體驗(yàn)】+ 初識量子計(jì)算機(jī)

    欣喜收到《量子計(jì)算機(jī)——重構(gòu)未來》一書,感謝電子發(fā)燒友論壇提供了一個我了解量子計(jì)算機(jī)的機(jī)會! 自己對電子計(jì)算機(jī)有點(diǎn)了解,但對量子計(jì)算機(jī)
    發(fā)表于 03-05 17:37

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品