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

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

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

內(nèi)存充足會(huì)讓計(jì)算機(jī)速度變快嗎

jf_78858299 ? 來源:碼農(nóng)的荒島求生 ? 作者: 陸小風(fēng) ? 2023-02-15 14:06 ? 次閱讀

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

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

圖片

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

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

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

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

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

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

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

由于CPU一次只能運(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ù)是暫時(shí)用不到的。

基于這些,操作系統(tǒng)先驅(qū)們看到了可以充分利用內(nèi)存的機(jī)會(huì),我們可以將暫時(shí)用不到的指令或者數(shù)據(jù)放到磁盤上去(swap out),當(dāng)使用這些數(shù)據(jù)或者指令時(shí)再從磁盤加載到內(nèi)存中(swap in),這樣內(nèi)存中不就有更多空間運(yùn)行更多進(jìn)程了嗎,這種思想在操作系統(tǒng)中被稱之為demand paging,屬于虛擬內(nèi)存的一部分。

圖片

其次,操作系統(tǒng)會(huì)將剩余的空閑內(nèi)存當(dāng)做磁盤緩存,有時(shí)當(dāng)系統(tǒng)負(fù)載較低時(shí)我們的程序并不能充分利用內(nèi)存,那么這些空閑的內(nèi)存就真的毫無用處了嗎?顯然不是的,我們知道磁盤是一種低速的存儲(chǔ)設(shè)備,既然這樣為什么不把空閑的物理內(nèi)存當(dāng)做磁盤的緩存呢?

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

圖片

現(xiàn)在,我們就可以回答開始提出的問題了,增加內(nèi)存會(huì)加快計(jì)算機(jī)運(yùn)行速度嗎?顯然這樣分為兩種情況來討論。

內(nèi)存充足

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

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

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

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

增加更多內(nèi)存意味著你可以同時(shí)開啟更多瀏覽器網(wǎng)頁、可以同時(shí)開啟更多虛擬機(jī)、同時(shí)渲染更多高清視頻、同時(shí)處理更多復(fù)雜的3D模型、同時(shí)訓(xùn)練更多機(jī)器學(xué)習(xí)模型等等,此時(shí)你的內(nèi)存不是瓶頸,CPU將很可能成為瓶頸,因?yàn)镃PU的運(yùn)行速度也就是每秒內(nèi)執(zhí)行的機(jī)器指令數(shù)量是有限的。

內(nèi)存不足

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

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

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

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

總結(jié)

從上述分析我們知道,關(guān)于增加內(nèi)存是否可以加快計(jì)算機(jī)速度取決于你的場(chǎng)景,如果你的設(shè)備內(nèi)存充足,那么此時(shí)增加內(nèi)存不會(huì)明顯加快計(jì)算機(jī)運(yùn)行速度。

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

    關(guān)注

    19

    文章

    7534

    瀏覽量

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

    關(guān)注

    37

    文章

    6889

    瀏覽量

    123653
  • 機(jī)器
    +關(guān)注

    關(guān)注

    0

    文章

    784

    瀏覽量

    40792
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    電源故障引起計(jì)算機(jī)運(yùn)行速度變慢

    速度就漸漸地變慢了,幾乎要停下來,怎么回事呀?關(guān)閉計(jì)算機(jī),用萬能表測(cè)了一下電壓,很正常。打開計(jì)算機(jī),又測(cè)了一下計(jì)算機(jī)的輸出電壓(測(cè)5V的)也很正常,我
    發(fā)表于 03-18 17:52

    計(jì)算機(jī)I/O和內(nèi)存總線概述

    探測(cè)計(jì)算機(jī)I/O和內(nèi)存總線
    發(fā)表于 07-29 09:54

    計(jì)算機(jī)組成原理與單片機(jī)原理

    最近終于有充足的時(shí)間來學(xué)習(xí)計(jì)算機(jī)組成原理與單片機(jī)原理簡(jiǎn)單的說說自己對(duì)這兩門課程的感受1. 首先說計(jì)算機(jī)的兩大分支:通用型計(jì)算機(jī),單片機(jī)。是兩個(gè)不同的發(fā)展方向。我們知道
    發(fā)表于 07-16 07:40

    微型計(jì)算機(jī)的存儲(chǔ)設(shè)備

    第四章微型計(jì)算機(jī)的存儲(chǔ)設(shè)備4.1 內(nèi)存內(nèi)存計(jì)算機(jī)中數(shù)據(jù)存儲(chǔ)和交換的設(shè)備。在整個(gè)計(jì)算機(jī)內(nèi)存起著
    發(fā)表于 09-10 09:02

    計(jì)算機(jī)運(yùn)算速度是指什么

    計(jì)算機(jī)運(yùn)算速度是指什么?按傳輸介質(zhì)分類,計(jì)算機(jī)網(wǎng)絡(luò)可分為哪幾種?使用16位二進(jìn)制編碼表示聲音與使用8位二進(jìn)制編碼表示聲音的效果有何不同?
    發(fā)表于 10-19 09:05

    計(jì)算機(jī)簡(jiǎn)介

    1計(jì)算機(jī)基礎(chǔ)知識(shí)1.計(jì)算機(jī)簡(jiǎn)介1.1計(jì)算機(jī)定義:按照一定邏輯處理數(shù)據(jù)的帶存儲(chǔ)的機(jī)器。微型,小型,大型等。2.2計(jì)算機(jī)組成分為硬件、軟件2.2.1硬件組成1)三大件A.CPU中央處理器:
    發(fā)表于 12-23 06:45

    什么是計(jì)算機(jī)算法?

    什么是計(jì)算機(jī)算法?要使計(jì)算機(jī)工作,您就必須編寫計(jì)算機(jī)程序。要編寫計(jì)算機(jī)程序,您就必須一步步地告訴計(jì)算機(jī),您究竟想
    發(fā)表于 08-03 08:50 ?3120次閱讀

    如何去優(yōu)化計(jì)算機(jī)內(nèi)存

    大多數(shù)計(jì)算和存儲(chǔ)部署如今面臨的情況是,計(jì)算機(jī)內(nèi)存空間都受到了上限的限制。
    發(fā)表于 11-28 17:48 ?1212次閱讀
    如何去優(yōu)化<b class='flag-5'>計(jì)算機(jī)內(nèi)存</b>

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

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

    計(jì)算機(jī)基礎(chǔ)知識(shí)之內(nèi)存

    計(jì)算機(jī)是進(jìn)行 「數(shù)據(jù)處理」 的設(shè)備,而程序表示的就是處理順序和數(shù)據(jù)結(jié)構(gòu)。由于處理對(duì)象(數(shù)據(jù))是存儲(chǔ)在 「內(nèi)存」 和 「磁盤」 上的,因此我們今天來聊聊內(nèi)存和磁盤。
    的頭像 發(fā)表于 03-31 16:14 ?1705次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b>基礎(chǔ)知識(shí)之<b class='flag-5'>內(nèi)存</b>

    計(jì)算機(jī)內(nèi)存和外存別再分不清了

    內(nèi)存,是大家對(duì)內(nèi)部存儲(chǔ)器的簡(jiǎn)稱,當(dāng)然,我們也可以叫內(nèi)部存儲(chǔ)器為主存。它是計(jì)算機(jī)中最重要的部件之一。** 內(nèi)存計(jì)算機(jī)運(yùn)行過程中存放需要運(yùn)行的程序和數(shù)據(jù)的地方。
    的頭像 發(fā)表于 05-26 11:03 ?1.1w次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b>的<b class='flag-5'>內(nèi)存</b>和外存別再分不清了

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

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

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

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

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

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