随着内存技术不断发展,服务器上内存的容量、密度和速度也越来越高。目前在市场上出现的
内存条最高密度可以做到每条内存条 4 个 Rank,容量达到 32GB/条,最高速度达到 1.6GHz。
高密度高频率也意味着较高的价格,也可能会带来更高的功耗。那么到底应该怎么根据实际的
需要来选择内存条呢?
内存的种类
目前服务器的内存总线技术基本上没有太大的变化,依旧使用 DDR3 技术。DDR3 是并行传输
技术,因此要保证并行数据传输的有效性,就必须在内存条上下功夫。目前内存条的种类有三种:
UDIMM, RDIMM, LRDIMM。
1.UDIMM:也称为 Unbuffered DIMM。当数据从 CPU 传到每个内存颗粒时,UDIMM 要求保证
CPU 到每个内存颗粒之间的数据传输距离相等,这样并行传输才会有效。这需要极高的制造工艺,
极难做到高密度、高频率。因此 UDIMM 容量和频率都较低。不过,UDIMM 由于在 CPU 和内存之
间没有任何缓存,因此同频率下时延较小。目前常见的是单条容量 2GB/4GB,最高主频也只能到达
1.33GHz。
2.RDIMM:也称为 Registered DIMM。为了保证并行传输的有效性,RDIMM 在内存条上加了
一个寄存器进行转发。它位于 CPU 和内存颗粒之间,这样就减少了并行传输的距离。同时由于寄存
器效率很高,因此 RDIMM 的密度和频率就容易提高。RDIMM 目前是较为主流的内存条,单条容
量在 2~32GB 之间,频率也有 1.33GHz 和 1.6GHz 两种选择。绝大多数 2 路通用配置的服务器出厂
时通常都会配置这种类型的内存。
3.LRDIMM:也称为 Load Reduced DIMM。RDIMM 虽然提高了传输有效性,但由于寄存器大
小有限,当单条内存中内存颗粒以最高的密度 4 Rank 进行部署时,并行传输的有效性和频率就会大
大下降。例如在使用 32G RDIMM 时,在服务器的每个内存通道上最多只能部署 2 条内存条,而且
只能运行在 800MHz。
总结一下:
1.从价格的角度看, RDIMM 比较适中。小容量的 UDIMM 较为便宜,但是由于制造工艺要求高,
大容量的 UDIMM 价格甚至超过 RDIMM。LRDIMM 价格高于 RDIMM 与 UDIMM。 
2.从容量的角度看,只有 LRDIMM 能够支持到最大化的总内存容量。不过主要应用所需要的内
存容量一般通过部署 RDIMM 就可以达到。 
3.从主频的角度看,目前只有 RDIMM 支持 1.6GHz,可以拥有更大带宽和小时延。
4.从时延的角度看,虽然同频率下 UDIMM 时延最小,但是 RDIMM 可以支持 1.6GHz,用更高
的频率来降低时延。 
5.从功耗的角度看,LRDIMM 最高,RDIMM 和 UDIMM 较低。
结论:
如果需要最大的内存容量,就必须使用 LRDIMM;如果不需要最大的内存容量,使用 RDIMM
(1.6GHz)性能、价格和可扩展性较好;如果考虑功耗,可以使用低电压 DDR3L 内存,并控制其
运行在较低频率下。

关于内存类型 UDIMM、RDIMM、LRDIMM 的学习结论(转)的更多相关文章

  1. D3D的内存类型

    一.对D3D中AGP显存.内存.显存三种内存的解释 三种内存AGP内存(非本地显存),显存(本地内存),系统内存,其中我们都知道系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡 ...

  2. MTRR内存类型范围寄存器

    1.MTRR的概念 内存类型范围寄存器(MTRRs,翻译过来真别扭,后面都以MTRR直接来说了)提供了一种机制,这种机制其实就是确定在系统内存中物理一段内存的类型.这个类型其实是正对CPU来说的,见图 ...

  3. JVM内存回收机制——哪些内存需要被回收(JVM学习系列2)

    上一篇文章中讨论了Java内存运行时的各个区域,其中程序计数器.虚拟机栈.本地方法栈随线程生灭,且创建时需要多少内存,基本上在译期间就决定的了,所以在内存回收时无需特殊的关注.而堆和方法区则不同,首先 ...

  4. JS类型(2)_JS学习笔记(2016.10.02)

    undefined undefined是全局对象(window)的一个特殊属性,其值是未定义的.但 typeof undefined 返回 'undefined' . 虽然undefined是有特殊含 ...

  5. JS类型(1)_JS学习笔记(2016.10.02)

    js类型 js中的数据类型有undefined,boolean,number,string,null,object等6种,前5种为原始类型(基本类型),基本类型的访问是按值访问的,就是说你可以操作保存 ...

  6. python的内存管理与垃圾回收机制学习

    一.python内存申请: 1.python的内存管理分为六层:最底的两层有OS控制.第三层是调用C的malloc和free等进行内存控制.第四层第五层是python的内存池.最上层使我们接触的直接对 ...

  7. 类型和变量(C#学习笔记02)

    类型和变量 [C#类型和变量(原文参考官方教程)]https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/types-and-var ...

  8. JavaScript 类型、原型与继承学习笔记

    目录 一.概览 二.数据类型 1. JavaScript中的数据类型 2. 什么是基本类型(Primitive Data Type) 2.1 概念 2.2 七个基本类型 2.3 基本类型封装对象 3. ...

  9. C#匿名类型(Anonymous Type)学习日记

    当我们不要定义复杂的方法,事件,构造函数这样复杂的类的时候,可以动态的生成一个自定义的数据类型 --> 匿名类型. 1.定义匿名类型 定义一个匿名类型时,需要用到 var 关键字和对象初始化语法 ...

随机推荐

  1. linux命令学习之:curl

    curl命令是一个利用URL规则在命令行下工作的开源文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括HTTP.HTTPS ...

  2. dup

    dup是一个操作符,由编译器识别处理,和db.dw.dd等数据定义伪指令配合使用,用来进行数据的重复. 例如 db  3  dup (0) 定义了3个字节,它们的值都是0,相当于db 0,0,0 db ...

  3. POI依据类型设置导出格式

    //设置Bigdecimal数据导出时以数值形式输出 CellStyle decimalStyle = workbook.createCellStyle(); DataFormat decimalDf ...

  4. (转载)Ubuntu下安装Qt

    转载自:http://blog.csdn.net/timidsmile/article/details/7716201 Ubuntu下安装Qt 1: sudo apt-get install qt4- ...

  5. vue之微信登录

    参考文章https://www.cnblogs.com/examine/p/4634947.html 微信开放平台和公众平台的区别1.公众平台面向的是普通的用户,比如自媒体和媒体,企业官方微信公众账号 ...

  6. js map/reduce

    map 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { r ...

  7. 网页定时器setTimeout( )

    不斷重複執行的 setTimeout( ) setTimeout( ) 預設只是執行一次, 但我們可以使用一個循環方式, 使到一個setTimeout( ) 再啟動自己一次, 就會使到第二個 setT ...

  8. Lazarus下面的javascript绑定另外一个版本bug修正

    Lazarus下面的javascript绑定另外一个版本bug修正 从svn 检出的代码有几个问题 1.fpcjs.pas 单元开始有 {$IFDEF FPC} {$MODE delphi} {$EN ...

  9. MySQL中varchar与char区别

    MySQL中varchar与char区别(转) MySQL中varchar最大长度是多少? 一. varchar存储规则: 4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字 ...

  10. 各种编译不通过xcode

    2017-08-24 Apple Mach-O Linker (Id) Error Linker command failed with exit code 1 (use -v to see invo ...