首页
学习
活动
专区
圈层
工具
发布

为什么服务器内存硬件上的黑色颗粒这么多?

之前有位读者问我为什么服务器内存上有这么多的颗粒,今天我专门就这个话题成文一篇作为回复。 各位从事服务器端开发的同学天天都在开发代码,代码都需要内存。确实了解一下服务器内存硬件是挺有有必要的。...所以我特地找来了一个服务器内存条来。下图是一个 32 GB 服务器内存条的正面和反面图。 可见服务器内存上有很多的黑色颗粒,相比下面的台式机内存颗粒要多很多。...今天我们就专门写一篇文章来给大家解释为什么服务器内存中颗粒更多的原因。...这是因为服务器区别于普通的台式机电脑,需要 ECC 纠错功能,以及 RDIMM/LRDIMM 在内存颗粒中加入寄存器模块,使得内存的频率更高(频率高的内存性能就会更好),容量更大。...简单总结一下,服务器内存硬件上颗粒数量更多的原因有3个 需要 ECC 功能,需要比普通内存多 1/8 的颗粒数来支持 ECC 需要 RCD 模块降低地址等控制信号干扰影响,将单条容量做到更大 需要 DB

4.3K10

理解内存的Rank、位宽以及内存颗粒内部结构

在冯诺依曼体系结构里,内存是除了CPU之外第二重要的设备。如果没有内存,服务器将完全无法运行。在这一节中,我们来了解下内存的物理结构。如下图的是一个 16 GB 的笔记本内存条实物的正面和反面图。...2R:表示该内存有 2 个 Rank *8:表示每个内存颗粒的位宽是 8 bit, 接下来我们分两个小节,深入地看看 Rank、位宽与内存颗粒的内部结构。...从内存条的实物图中看到,该内存条的正反面确实总共有 16 个 Chip。 内存颗粒 Chip 内部结构 一个内存是由若干个黑色的内存颗粒构成的。每一个内存颗粒叫做一个 chip。...例如 2R*4 表示的是内存条有 2 个 Rank,每个 Chip 的位宽大小是 4。可以推算出每个 Rank 需要 64/4 = 16 个 Chip 颗粒。这种内存常见于服务器内存。...内存颗粒越多,就可以组成更大容量的内存条。 2R*8 表示的是内存条有 2 个 Rank,每个 Chip 的位宽大小是 8。可以推算出每个 Rank 需要 64/8 = 8 个 Chip 颗粒。

9.9K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    都是颗粒 为什么SSD有寿命、内存却没有?

    随着技术的发展,我们使用的存储器也各种各样,虽然都基于芯片颗粒,但表现截然不同,比如说读写次数限制,或者叫寿命,SSD固态硬盘就有限制,DRAM内存却没有。...按照分布位置的不同,DRAM内存属于内部存储器,紧挨着CPU处理器,用来临时存放后者需要的运算数据,并与外部存储器进行交换,起到桥梁的作用。...DRAM内存的特点是读写速度快、延迟低,但属于易失性存储,也就是一旦断电,数据就会全部丢失。...DRAM内存颗粒利用晶体管加电容来保存数据,而且只是临时存储数据,并没有实质性的写入,不涉及对物理单元结构、属性的改变,所以可以无限次读写。 ?...SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改变内部状态来存储数据,随着时间的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。

    2.7K40

    .NET 9 内存陷阱:GC优化竟成服务器性能杀手?

    沉默的性能杀手 当微软发布 .NET 9 时,他们宣称各方面性能指标均有所提升。基准测试在纸面上看起来非常棒。但现实世界的服务器应用讲述的却是另一个故事。...这个问题并非立即显现——它像缓慢的内存泄漏一样悄然接近你,逐渐降低性能,直到你的服务器喘不过气来。 以下是我在调查过程中的发现。....NET 9 中的新 GC 算法引入了一项针对短生命周期对象的优化,却无意中损害了长时间运行的服务器应用程序。...实际影响 这对你的生产服务器意味着: 1. 内存压力级联: 当对象过快地提升到 Gen1 时,它们会比应该存活的时间更长。...理解应用程序的内存分配模式并进行相应优化,不仅仅是一种良好实践——对于在 .NET 9 服务器应用程序中保持性能至关重要。 记住:过早优化是万恶之源,但在服务器应用程序中忽视 GC 行为则纯粹是失职。

    69910

    全面解析DDR5内存颗粒的技术革新:DDR5内存测试治具的特点

    那么,DDR5内存颗粒究竟带来了哪些创新和优势呢?...DDR5内存颗粒是DDR5内存模块中最核心的组件,它直接影响着内存条的总体性能和稳定性。 性能提升:速度与带宽的飞跃 DDR5内存颗粒最大的亮点之一是它带来了前所未有的速度和带宽。...DDR5内存颗粒在这方面展现出卓越的扩展能力。根据鸿怡电子IC测试座工程师介绍:与DDR4相比,DDR5内存颗粒支持更高的单颗容量,最大单条内存模组容量可以达到128GB甚至更高。...DDR5内存颗粒的技术亮点 为了实现以上的性能提升和能效优化,DDR5内存颗粒采用了一系列先进的技术: 1....总的来说,DDR5内存颗粒作为新一代内存技术的代表,不仅开创了内存技术的新纪元,还为未来的计算系统提供了更强大的支持。

    3.2K00

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

    22.4K20

    服务器内存监测

    而对于程序员而言,如何避免内存泄漏也是一门学问,倘若不加以控制,那么无论多大的内存都会有消耗殆尽的那天。...本文当然不是研究如何分析内存泄漏的产生原因与解决方案,而是在此之前的一步,通过简单的内存监测方式来预测内存泄漏的 潜在可能性 或者 偶发性 等。...我这边需要监测 系统内存 与 jvm堆内存 ,最终的结果会展示各个时间点的内存情况,所以需要一个时间类,表示每个切片的时间点。...timeMarkInterval是存储定时器id的,在销毁之前释放定时器;physicMemory和heapMemory获取图表div节点,用于echarts节点获取;systemInfo则会存储定时从服务器拉取到的数据...由图可见我这个系统堆内存通常消耗不到一百兆,后续可以将堆内存设定的再小一些,以提供给其它服务使用。总体内存是稳定状态,达到一定值会自动回收垃圾,占用率不会逐步提高,是个可控的系统。

    22K40

    linux服务器内存

    早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大...就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子...空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used...记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候...,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦

    43.4K10

    Java内存管理的9个小技巧

    最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测试报告来证明这一点。...其实从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么多理由来证明它确实占内存呢?两个字,陋习。 ?   1、别用new Boolean()。   ...这样如果我们使用Integer.valueOf代替new Integer的话也将大大降低内存的占用。...比如使用HashMap缓存一些物料信息、人员信息等基础资料,这 在提高系统速度的同时也加大了系统的内存占用,特别是当缓存的资料比较多的时候。...8、对频繁使用的对象采用对象池技术   9、保证每个IO操作,connection及时关闭

    49720

    Debian9服务器安装

    1、环境说明:     (1)我的虚拟机是:VMware Workstation 12 Pro      (2)Debian9系统下载   2、系统安装:       至于虚拟机如何配置,这里就不再赘述了...然后点击Continue继续进行安装 你可以在这里给你的服务器起一个名字,默认为debian。...然后选择Continue继续安装 配置你的服务器系统root密码,然后继续安装.使用按键Tab可以切换到其他按钮上去。...选择否,继续安装、 选择否,继续 这里是让你选择安装软件包,如果是服务器的话,就不用安装桌面,直接使用命令行就可以了。可以根据自己的需要进行安装。...然后继续 至此,整个Debian9的安装就完成了,点击Continue系统将会重启。现在系统安装完毕了,但是还不能够访问,将会在下一篇里面教你如何修改接口配置。

    1.9K20

    9张图轻松吃透Go内存管理单元

    导读 ---- 本文基于Go源码版本1.16、64位Linux平台、1Page=8KB、本文的内存特指虚拟内存 今日继续更新《Go语言轻松系列》第二章「内存与垃圾回收」第二部分「Go语言内存管理」。...点击查看本系列更多文章 想深入了解Go语言的内存管理实现,必然绕不开「Go内存管理单元mspan」,Go堆内存、栈内存的分配过程都依赖了「内存管理单元mspan」。...page的概念 ---- 操作系统是按page管理内存的,同样Go语言也是也是按page管理内存的,1page为8KB,保证了和操作系统一致,如下图所示: Go内存管理单元mspan通常由N个且连续的...看到这里,你会以为Go是按页page8KB为最小单位分配内存的吗? 答案:当然不是,如果这样的话会导致内存使用率不高。Go语言内存管理器会把mspan再拆解为更小粒度的单位object。...如下图所示: object和object之间构成一个链表,大家这里肯定会想到是LinkedList,实际上并不是,因为LinkedList节点自身的指针也会占用8B内存,作为内存管理器,这部分内存会被白白浪费掉

    56010

    linux服务器内存——分析篇

    早上到单位 发现服务器 mysql 服务器停了 然后起来了 查询日志 显示 内存满了 把mysql服务给杀了 linux 服务器如果 内存满了 会自动清理进程 防止服务器挂掉 选择的话 谁占的的内存大...就先杀谁 我的服务器里面 mysql服务占的内存是最大的 所以就把mysql就给杀了 image.png 然后 重启mysql 查询内存 image.png 在这说一下 怎么看linux的内存 举个例子...空闲的内存数: 232M shared 当前已经废弃不用,总是0 buffers Buffer 缓存内存数: 62M cached Page 缓存内存数:421M 关系:total(1002M) = used...记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候...,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常 swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦

    32.2K11

    看懂服务器 CPU 内存支持,学会计算内存带宽

    在深入了解服务器 CPU 的型号、代际、片内与片间互联架构一文中我们了解了服务器 CPU 的内部架构。在其中我们看到有一个内存控制器。 关于CPU内存控制器中会有很多专技术细节。...这种内存要求 CPU 到每个内存颗粒之间的传输距离相等,这样并行传输才有效。而保证 CPU 到每个颗粒之间传输距离需要较高的制造工艺,这样就对内存的容量和频率都产生了限制。...CPU 访问数据时都先经过寄存器再到内存颗粒。减少了 CPU 到内存颗粒的距离,使得频率可以提高。...而且不再像之前一样要求每个内存颗粒传输距离相等,工艺复杂度因寄存缓存器的引入而下降,使得容量也可以提高到 32 GB。主要用在服务器上。 下图是一个服务器RDIMM 32 GB 内存条。...这个服务器内存条不光正面有很多内存颗粒,连背面也有。可见服务器内存的颗粒数量比普通笔记本电脑、个人台式机的颗粒都要多很多。

    32.4K12

    Docker中运行的Java 9将能调整内存限制

    OpenJDK 9中首次新增了一项实验性功能,JVM可借助该功能检测到自己运行在容器中,进而酌情调整内存限制。...与Java 9一同发布的该功能正是为了在多种使用场景中避免出现此类问题而生。 ? 诸如Docker、Heroku或Kubernetes等容器技术实际上是一种基于Linux操作系统的轻量级虚拟机。...如果不使用-Xmx指定内存上限,JVM会将上限设置为物理内存数的一小部分(通常为1/4,但情况可能各异),而这一结果甚至还没有考虑到容器本身所造成的限制。...Java 9中新增的这项功能可以判断JVM是否运行在Control Group,即cgroup中(这是一种Linux技术,大部分容器会通过该技术对硬件和其他资源的使用施加强制限制),借此预防出现类似的问题...如果JVM检测到自己运行在cgroup中,随后会试图确定cgroup所定义的内存限制,将该限制视作可用物理内存总量,并将其他每个参数设置为该值的一部分。

    1.9K70

    内存溢出危机:如何优化服务器和IDE的内存管理?

    在使用服务器或者集成开发环境过程中,不可避免会遇到内存溢出的问题。所以内存管理的好坏直接决定了数据分析的效率,本篇将从实际场景出发,分享内存优化的关键技巧与实践,让你的工作流畅无阻!...实例内存监测 在跑大任务之前,用户端可以查看自己的实例所在的服务器是否有足够的内存,在天意云官网可以看到不同服务器情况和内存配置,用户可以自行切换,选择时段内最优配置跑任务。...如果内存剩余过低,可以登录服务器,使用命令如top、free -h检查内存消耗最多的进程。如果某些进程占用大量内存但并非必要,可以使用kill -9命令终止这些进程,释放部分内存。...Rstudio解决内存溢出与卡顿 自定义函数减少无用变量的残留 不定义函数的情况: #不定义函数的情况 n 9 a 内存对象1 b 内存一直占用着不用,系统就会将其换出到交换内存中,导致交换内存占用高。如果还需要用,但是积累了很多垃圾变量,可以重启内核。 重启 下期内容 本系列下一节更新“加速服务器数据的下载与上传”的内容

    9.6K10

    9-web服务器软件概述+Tomcat

    Web服务器软件 服务器概念 安装了服务器软件的计算机 服务器软件概念 接收用户请求,处理请求并做出响应 Web服务器软件概念 服务器软件的一种,在web服务器软件中,可以部署web项目,让用户通过浏览器访问项目...,又被称为web容器 常见的Java相关的web服务器软件 webLogic:oracle公司的,大型JavaEE服务器,支持所有JavaEE规范,收费。...webSphere:IBM公司,大型JavaEE服务器,支持所有JavaEE规范,收费。 JBOSS:JBOSS公司,大型JavaEE服务器,支持所有JavaEE规范,收费。...Tomcat:Apache基金组织的,中小型JavaEE服务器,仅支持少量的JavaEE规范(如:servlet/jsp)开源免费的 Tomacat 下载:https://tomcat.apache.org

    1.3K20

    使用Debian 9进行初始服务器设置

    介绍 当您第一次创建新的Debian 9服务器时,您应该尽早采取一些配置步骤作为基本设置的一部分。这将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 第一步 - 以Root身份登录 要登录服务器,您需要知道服务器的公共IP地址。...默认情况下,在Debian 9上,允许属于sudo组的用户使用该sudo命令。...结论 此时,您的服务器基础扎实。您现在可以在服务器上安装所需的任何软件。 想要了解更多关于初始服务器设置的相关教程,请前往腾讯云+社区学习更多知识。...---- 参考文献:《Initial Server Setup with Debian 9》

    6.7K50
    领券