有什么办法通过软件来识别你的记忆速度吗? 我正在使用Fedora 9,希望了解当前DIMM的速度。
我试过了'lshw',但是没有显示速度。 我知道主板支持3种不同的速度,但我不知道那里有什么,不想closures盒子。
有任何想法吗?
谢谢,
编辑:我发现根据dmidecode公羊是'30纳秒'。 如果电路板只支持400,533,667Mhz的RAM,怎么能达到33MHz呢?
编辑2:有没有其他工具来做到这一点?
编辑3:我实际上投降,结束了几分钟的时间,并打开案件。 原来是667 MhZ – 这个模型: http : //www.directron.com/rm12864aa667.html 。 尽pipe无法通过软件真正弄清楚这是667,但我已经将HD的答案标记为正确的,因为这似乎是HD工作的最佳工具。
这是demidecode -type内存的输出
# dmidecode 2.7 SMBIOS 2.4 present. Handle 0x0008, DMI type 5, 20 bytes. Memory Controller Information Error Detecting Method: 64-bit ECC Error Correcting Capabilities: None Supported Interleave: One-way Interleave Current Interleave: One-way Interleave Maximum Memory Module Size: 1024 MB Maximum Total Memory Size: 2048 MB Supported Speeds: 70 ns 60 ns 50 ns Supported Memory Types: DIMM SDRAM Memory Module Voltage: 3.3 V Associated Memory Slots: 2 0x0009 0x000A Enabled Error Correcting Capabilities: None Handle 0x0009, DMI type 6, 12 bytes. Memory Module Information Socket Designation: DIMM0 Bank Connections: 9 11 Current Speed: 30 ns Type: Unknown FPM Parity SDRAM Installed Size: 1024 MB (Single-bank Connection) Enabled Size: 1024 MB (Single-bank Connection) Error Status: OK Handle 0x000A, DMI type 6, 12 bytes. Memory Module Information Socket Designation: DIMM1 Bank Connections: 9 11 Current Speed: 30 ns Type: Unknown FPM Parity SDRAM Installed Size: 1024 MB (Single-bank Connection) Enabled Size: 1024 MB (Single-bank Connection) Error Status: OK Handle 0x002F, DMI type 16, 15 bytes. Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 4 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x0031, DMI type 17, 27 bytes. Memory Device Array Handle: 0x002F Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM Set: None Locator: DIMM0 Bank Locator: BANK0 Type: SDRAM Type Detail: Synchronous Speed: Unknown Manufacturer: Manufacturer0 Serial Number: SerNum0 Asset Tag: AssetTagNum0 Part Number: PartNum0 Handle 0x0033, DMI type 17, 27 bytes. Memory Device Array Handle: 0x002F Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: DIMM Set: None Locator: DIMM1 Bank Locator: BANK1 Type: SDRAM Type Detail: Synchronous Speed: Unknown Manufacturer: Manufacturer1 Serial Number: SerNum1 Asset Tag: AssetTagNum1 Part Number: PartNum1
dmidecode是你正在寻找的工具。
在我的Debian上, lshw给我这个信息。
# lshw -version B.02.13 # lshw -short -C memory H/W path Device Class Description ======================================================= /0/1 memory 128KiB BIOS /0/5/6 memory 20KiB L1 cache /0/5/7 memory 1MiB L2 cache /0/27 memory System Memory /0/27/0 memory 256MiB DIMM DDR Synchronous 400 MHz (2.5 ns) /0/27/1 memory 256MiB DIMM DDR Synchronous 400 MHz (2.5 ns) /0/27/2 memory 256MiB DIMM DDR Synchronous 266 MHz (3.8 ns) /0/27/3 memory 256MiB DIMM DDR Synchronous 400 MHz (2.5 ns) /0/28 memory Flash Memory /0/28/0 memory 512KiB Chip FLASH Non-volatile /0/0 memory /0/2 memory
你可以发布你的dmidecode输出的内存部分? ( dmidecode – types的内存 )
你可能想读这个: http : //www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case
“NS”引用“纳秒”的内存能够回复的速度。 数字越低速度越快。 不幸的是,这并没有提到一个确切的Mhz号码。 DMIDECODE也应该输出Mhz。 检查输出的最底部或简单的dmidecode –type memory | grep Mhz
如果你真的想testing内存的速度,你不能在32位处理器386保护模式下执行,因为页面错误和页面布局会在结果中占据很大的比重。
你最好的select是在16位“真实模式”中编码基准,你可以直接访问内存物理地址。
对于可以轻松定制的很好的启动代码,请检查GRUB引导装载程序stage1的源代码。 stage1是驻留在硬盘的前512个字节中的MBR。 你会发现它在源码目录stage1 / stage1.S文件; 它很受评论和易于理解。
一旦你有MBR自定义您的需要,编译它使用以下方法:
$ BOOT=mbr $ gcc -O2 -fno-builtin -nostdinc -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -g -c $BOOT.S $ gcc -g -nostdlib -Wl,-N,-Ttext,7C00 -o $BOOT.exec $BOOT.o $ objcopy -O binary $BOOT.exec $BOOT
现在您已经准备好了一个x86 MBR。 在Qemu或Bochs这样的虚拟机上testing你的代码,然后在真机上运行它是可取的。 这也将减轻编译/debugging周期。
希望它有帮助
如果你真的很幸运,你正在寻找的工具是手电筒。 有些记忆可以打开盒子,看看贴在标签上的贴纸。 尽pipe如此,取决于你的情况是多么容易,只要你真的 真的很小心,你不需要closures机器。 我不知道在机器内部工作是多么的有经验,但是当我不能使用Linux软件命令来解决这个问题的时候,我尝试了下一步。
编辑:我发现根据dmidecode公羊是'30纳秒'。 如果电路板只支持400,533,667Mhz RAM,它怎么能达到33MHz?
我猜这是这样的:
SIMM / DIMM上的每个芯片都运行在30ns或33MHz。 每个SIMM有8个芯片,所以8×33MHz = 266MHz; 或每个DIMM 16个芯片,提供533 MHz。
所以,当每个芯片运行在33 MHz时,整个内存模块可以提供533 MHz的数据。
我知道这有点迟,但是:
如果你支持这些时间,把它们减半,那么它们就是30的给定比率。然后,如果你把这个减半,并把它除以10000,就给出(800,666,571.4)
我不知道为什么,虽然时间和数据速率之间的联系可能会很复杂, 另外,其中之一可能是双倍数据速率。
只是为了澄清,你看到的最后33Mhz的内存是你的BIOS内存:)
Type: Flash Type Detail: Non-Volatile Speed: 33 MHz Manufacturer: ATMEL
如果您想使用更好的工具,请安装lm_sensors( https://wiki.archlinux.org/index.php/Lm_sensors )和i2c-tools( https://www.archlinux.org/packages/?name=i2c-工具 )
然后你可以通过dimm-decode(这里是一个输出样本)获得关于你的记忆的更多细节细节:
Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0055 Guessing DIMM is in bank 6 ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-116 OK (0x4422) # of bytes written to SDRAM EEPROM 176 Total number of bytes in EEPROM 256 Fundamental Memory type DDR3 SDRAM Module Type RDIMM ---=== Memory Characteristics ===--- Fine time base 2.500 ps Medium time base 0.125 ns Maximum module speed 1066MHz (PC3-8533) Size 16384 MB Banks x Rows x Columns x Bits 8 x 15 x 11 x 64 Ranks 4 SDRAM Device Width 4 bits tCL-tRCD-tRP-tRAS 7-7-7-20 Supported CAS Latencies (tCL) 8T, 7T, 6T ---=== Timing Parameters ===--- Minimum Write Recovery time (tWR) 15.000 ns Minimum Row Active to Row Active Delay (tRRD) 7.500 ns Minimum Active to Auto-Refresh Delay (tRC) 50.625 ns Minimum Recovery Delay (tRFC) 160.000 ns Minimum Write to Read CMD Delay (tWTR) 7.500 ns Minimum Read to Pre-charge CMD Delay (tRTP) 7.500 ns Minimum Four Activate Window Delay (tFAW) 37.500 ns ---=== Optional Features ===--- Operable voltages 1.5V, 1.35V RZQ/6 supported? Yes RZQ/7 supported? Yes DLL-Off Mode supported? Yes Operating temperature range 0-95C Refresh Rate in extended temp range 1X Auto Self-Refresh? No On-Die Thermal Sensor readout? No Partial Array Self-Refresh? No Thermal Sensor Accuracy 0 SDRAM Device Type 0 ---=== Physical Characteristics ===--- Module Height (mm) 30 Module Thickness (mm) 4 front, 4 back Module Width (mm) 133.5 Module Reference Card F ---=== Registered DIMM ===--- # DRAM Rows 2 # Registers 2 Register manufacturer IDT Register device type SSTE32882 Register revision 0x61 Heat spreader characteristics 00 SSTE32882 RC0/RC1 00 SSTE32882 RC2/RC3 50 SSTE32882 RC4/RC5 50 SSTE32882 RC6/RC7 00 SSTE32882 RC8/RC9 00 SSTE32882 RC10/RC11 00 SSTE32882 RC12/RC13 00 SSTE32882 RC14/RC15 00 ---=== Manufacturer Data ===--- Module Manufacturer Samsung DRAM Manufacturer Samsung Manufacturing Location Code 0x02 Manufacturing Date 2011-W39 Assembly Serial Number xxx Part Number M393B2K70CM0-YF8
如果可能的话,尝试运行Memtest,IIRC会显示出左上angular的内存速度(例如20000MB / s @ 667MHz)。
DDR SDRAM的时序是从8到2的倍数。从我记忆中,DDR意味着双倍数据速率(请检查这一点,因为我找不到要重新检查的信息)。 这个记忆能够同时转移两种方式(进出)。
原因很简单。 DDR的定时比给定的总线频率快两倍。 请不要混淆公交车的class次和class次。 总线在总线频率上传输32,64,128或256位。 一个128位数据PER CYCLE是一个巨大的数据量。
举个例子:在200MHz的总线上find了DDR400。 另一个名字是PC3200。 从400到3200,你会发现一个因素8.这个因素总是validation任何DDR(1/2/3/4 …)
下面的链接是足够好的基础知识(可能更好,更完整比我的解释:))