0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

增加更多内存会让你的计算机速度变快吗?

冬至子 来源:码农的荒岛求生 作者:陆小风 2022-11-15 14:55 次阅读

要想解答这个问题,我们需要知道cpu、内存与程序这几者的关联,实际上非常简单:

图片

首先,可执行程序存储在磁盘中(当然也可以是其它介质),可执行程序中实际上主要包含两部分内容:机器指令以及指令依赖的数据;

程序运行时首先被加载(load)到内存中,被加载到内存中的程序摇身一变就成为了我们说的进程,当然,内存中还运行着另一种特殊的程序:操作系统

只有当CPU真正执行机器指令时相应的进程才开始运行,此时CPU不断的从内存中取出指令并执行指令,当然除了机器指令外还需要读取内存中的数据。

可以看到,当程序运行时与CPU交互的是内存而不是磁盘,内存中存储指令和数据、而CPU使用指令和数据,因此从这个角度看这是一个类似生产者与消费者问题,内存就好比大厨、CPU好比食客,如果大厨上菜太慢那么食客就要挨饿。

除此之外,操作系统对内存的使用也不可忽略。

操作系统是如何利用内存的?

为充分利用内存与磁盘资源,现代操作系统中有很多非常聪明的设计。

由于CPU一次只能运行一个程序,即使在多核系统中一般来说同时存在的进程数远远多于核数,也就是说在某一个时刻并不是所有的程序都在运行,即使对正在运行的进程来说由于局部性原理的存在,进程地址空间中总会有一部分指令或者数据是暂时用不到的。

基于这些,操作系统先驱们看到了可以充分利用内存的机会,我们可以将暂时用不到的指令或者数据放到磁盘上去(swap out),当使用这些数据或者指令时再从磁盘加载到内存中(swap in),这样内存中不就有更多空间运行更多进程了吗,这种思想在操作系统中被称之为demand paging,属于虚拟内存的一部分。

图片

其次,操作系统会将剩余的空闲内存当做磁盘缓存,有时当系统负载较低时我们的程序并不能充分利用内存,那么这些空闲的内存就真的毫无用处了吗?显然不是的,我们知道磁盘是一种低速的存储设备,既然这样为什么不把空闲的物理内存当做磁盘的缓存呢?

大家可能都有这样的体验,开始打开一个全新的文件时通常会比较慢,但当你再次使用该文件时将明显感觉到速度会快很多,背后的原理就在于此,如果此时你的内存不足,那么操作系统就没有那么多的空闲内存来当做磁盘缓存,此时你将真正体验到磁盘蜗牛般的速度。

图片

现在,我们就可以回答开始提出的问题了,增加内存会加快计算机运行速度吗?显然这样分为两种情况来讨论。

内存充足

如果你的内存本身就很充足,那么在这种情况下 增加更多内存将不会让你的计算机跑的更快 ,因为CPU作为食客吃饭的速度是有限的,大厨做的菜再多也没有,你也没办法让食客吃的再快一些。

这就好比你问给一辆卡车装更多轮子会让开车跑得更快吗?

答案显然不是的,尽管这并不能让卡车跑得更快,但增加更多轮子会让货车有更高的载重。

对内存来说也是这样,尽管增加更多内存并不能让计算机跑得更快,但这显然会让我们可以同时运行更多程序。

增加更多内存意味着你可以同时开启更多浏览器网页、可以同时开启更多虚拟机、同时渲染更多高清视频、同时处理更多复杂的3D模型、同时训练更多机器学习模型等等,此时你的内存不是瓶颈,CPU将很可能成为瓶颈,因为CPU的运行速度也就是每秒内执行的机器指令数量是有限的。

内存不足

此时大厨上菜速度太慢,食客总是挨饿,因此大厨需要上更多的菜。

我们知道,大部分程序在运行过程中会频繁的申请内存,申请内存是一项看似简单实际上非常复杂的操作、尤其是在系统内存不足的场景下,此时申请内存往往涉及到更多复杂的查找或者异常处理,这时我们的程序运行速度将会明显变慢。

内存不足时磁盘与内存之间可能会有更多的交换,此时系统的速度将受限于磁盘,并且由于不能缓存磁盘文件, 那么我们开启进程或者打开文件的速度将明显变慢。

在这种情况下增加内存将更好地喂饱CPU,因此将明显加快计算机的运行速度。

总结

从上述分析我们知道,关于增加内存是否可以加快计算机速度取决于你的场景,如果你的设备内存充足,那么此时增加内存不会明显加快计算机运行速度。

审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10733

    浏览量

    209910
  • 计算机
    +关注

    关注

    19

    文章

    7212

    浏览量

    87341
  • 操作系统
    +关注

    关注

    37

    文章

    6561

    浏览量

    122873
收藏 人收藏

    评论

    相关推荐

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    欣喜收到《量子计算机——重构未来》一书,感谢电子发烧友论坛提供了一个我了解量子计算机的机会! 自己对电子计算机有点了解,但对量子计算机
    发表于 03-05 17:37

    七种解决计算机运行速度慢的方法

    慢开机时的速度,而且更快地消耗计算机资源以及内存,但可能问:那些程序全都有用的耶!那我可以答
    发表于 03-18 17:53

    计算机进入BIOS的方法

    所有卡信息后,第二个屏幕是主板,使得内存,CPU和第一个计算机屏幕的内容都是板自检信息,如作为硬盘,这次需要输入第二个数字或按右键进入BIOS,按2进入特定按钮。 因此,您看到的单词,例如
    发表于 09-15 15:49

    计算机有哪些功能

    一句话概括:计算机体系结构讲的是计算机有哪些功能(包括指令集、数据类型、存储器寻址技术、I/O机理等等),是抽象的;计算机组成原理讲的是计算机功能是如何实现的,是具体的。例如:一台机器
    发表于 07-16 07:45

    计算机的工作原理你知道哪些

    计算机的工作原理你需要有一定的电学知识,然后就可以去看模拟电路和数字电路相关的书籍了,了解完这两个东西后就能基本明白计算机是怎么运作起来的了。这里只做简单回答。简单回答的意思是说,这个回答旨在
    发表于 09-06 08:45

    微型计算机的存储设备

    第四章微型计算机的存储设备4.1 内存内存计算机中数据存储和交换的设备。在整个计算机内存起着
    发表于 09-10 09:02

    计算机运算速度是指什么

    计算机运算速度是指什么?按传输介质分类,计算机网络可分为哪几种?使用16位二进制编码表示声音与使用8位二进制编码表示声音的效果有何不同?
    发表于 10-19 09:05

    计算机简介

    1计算机基础知识1.计算机简介1.1计算机定义:按照一定逻辑处理数据的带存储的机器。微型,小型,大型等。2.2计算机组成分为硬件、软件2.2.1硬件组成1)三大件A.CPU中央处理器:
    发表于 12-23 06:45

    如何去优化计算机内存

    大多数计算和存储部署如今面临的情况是,计算机内存空间都受到了上限的限制。
    发表于 11-28 17:48 1130次阅读
    如何去优化<b class='flag-5'>计算机内存</b>

    增加更多内存计算机速度变快吗?

    可以看到,当程序运行时与CPU交互的是内存而不是磁盘,内存中存储指令和数据、而CPU使用指令和数据,因此从这个角度看这是一个类似生产者与消费者问题,内存就好比大厨、CPU好比食客,如果大厨上菜太慢那么食客就要挨饿。
    的头像 发表于 11-09 14:11 814次阅读

    内存充足计算机速度变快

    首先,可执行程序存储在磁盘中(当然也可以是其它介质),可执行程序中实际上主要包含两部分内容:机器指令以及指令依赖的数据; 程序运行时首先被加载(load)到内存中,被加载到内存中的程序摇身一变就成为了我们说的进程,当然,内存
    的头像 发表于 02-15 14:06 319次阅读
    <b class='flag-5'>内存</b>充足<b class='flag-5'>会</b><b class='flag-5'>让</b><b class='flag-5'>计算机</b><b class='flag-5'>速度</b><b class='flag-5'>变快</b>吗

    计算机基础知识之内存

    计算机是进行 「数据处理」 的设备,而程序表示的就是处理顺序和数据结构。由于处理对象(数据)是存储在 「内存」 和 「磁盘」 上的,因此我们今天来聊聊内存和磁盘。
    的头像 发表于 03-31 16:14 1542次阅读
    <b class='flag-5'>计算机</b>基础知识之<b class='flag-5'>内存</b>

    计算机内存和外存别再分不清了

    内存,是大家对内部存储器的简称,当然,我们也可以叫内部存储器为主存。它是计算机中最重要的部件之一。** 内存计算机运行过程中存放需要运行的程序和数据的地方。
    的头像 发表于 05-26 11:03 9569次阅读
    <b class='flag-5'>计算机</b>的<b class='flag-5'>内存</b>和外存别再分不清了

    内存容量与类型如何影响计算机性能

    内存的容量与类型作为计算机硬件系统中的重要组成部分,对计算机的整体性能有着至关重要的影响。它们不仅决定了系统能够同时处理的数据量大小,还影响着程序的运行速度、系统的响应能力以及多任务处
    的头像 发表于 07-15 18:05 1042次阅读

    计算机内存容量有什么作用

    计算机内存容量,作为一个核心概念,在计算机科学、信息技术以及日常使用中扮演着至关重要的角色。它不仅直接关系到计算机处理数据的能力,还影响着用户体验、系统性能以及多任务处理的效率。在深
    的头像 发表于 09-10 14:47 217次阅读