有什么方法可以通过软件来识别你的内存速度吗?我在 Fedora 9 上并希望找出我目前在那里的 DIMM 的速度。
我试过'lshw',但它不显示速度。我知道主板支持 3 种不同的速度,但我不知道里面有什么,也不想关掉盒子。
有任何想法吗?
谢谢,
编辑:根据 dmidecode,我发现 ram 为“30 ns”。如果主板只支持 400、533、667 Mhz RAM,怎么可能是 33 MHz?
编辑2:还有其他工具可以做到这一点吗?
编辑 3:我实际上投降了,最后断电了几分钟并打开了箱子。原来是 667 MhZ - 这个型号:http ://www.directron.com/rm12864aa667.html 。尽管无法通过软件实际确定它是 667,但我已将 HD 的答案标记为正确答案,因为这似乎是完成这项工作的最佳工具。
这是 demidecode --type memory 的输出
# 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给了我这些信息。
如果你真的想对内存的速度进行基准测试,你不能在 32 位处理器 386 保护模式下进行,因为页面错误和页表的布局会在结果中占很大比重。
您最好的选择是在 16 位“实模式”中编写基准测试,您可以直接访问内存物理地址。
要获得可以轻松定制的漂亮启动代码,请查看 GRUB bootloader stage1 源代码。stage1 是驻留在硬盘前 512 个字节中的 MBR。您将在源目录 stage1/stage1.S 文件中找到它;它被大量评论并且易于理解。
根据您的需要定制 MBR 后,使用以下方法对其进行编译:
现在您已准备好 x86 MBR。在真机上运行代码之前,最好先在 Qemu 或 Bochs 等虚拟机上测试您的代码;它还将简化编译/调试周期。
希望能帮助到你
你可以为内存部分发布你的 dmidecode 输出吗?( dmidecode --type 内存)
您可能想阅读以下内容:http: //www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case
“NS”引用“纳秒”内存能够回复的速度。数字越小速度越快。不幸的是,这并没有引用确切的 Mhz 数字。DMIDECODE 也应该输出 Mhz。检查输出的最底部或简单地dmidecode --type memory | grep 兆赫兹
澄清一下,你最后看到的 33mhz 内存是你的 bios 内存 :)
如果您想使用更好的工具,请安装 lm_sensors ( https://wiki.archlinux.org/index.php/Lm_sensors ) 和 i2c-tools ( https://www.archlinux.org/packages/?name=i2c-工具)
然后,您可以使用 dimm-decode 获得有关您的内存的更多详细信息(这里是输出示例):
如果你真的很幸运,你正在寻找的工具是手电筒。一些记忆,您可以打开外壳并查看标签上的贴纸。完全取决于你的情况,但它是多么容易,只要你真的 非常 小心,你就不需要关闭机器。我不知道您在机器内部工作方面的经验如何,但是当我无法使用 Linux 软件命令来解决问题时,这是我尝试的下一件事。
我猜它是这样的:
SIMM/DIMM 上的每个单独芯片都以 30ns 或 33MHz 运行。每个 SIMM 有 8 个芯片,所以 8 x 33MHz = 266MHz;或每个 DIMM 16 个芯片,提供 533 MHz。
因此,虽然每个芯片以 33 MHz 运行,但整个内存模块可以以 533 MHz 传输数据。
我知道这有点晚了,但是:
如果您采用支持的时间并将它们减半,则它们符合给定的 30 比率。然后如果您将其减半并除以 10000,则得到 (800, 666, 571.4)
我不知道为什么,尽管我认为时间和数据速率之间的联系可能很复杂;此外,其中之一可能是双倍数据速率。
如果可能,请尝试运行 Memtest,IIRC 它会在左上角显示 troughout 以及内存速度(例如 20000MB/s @ 667MHz)。
DDR sdram 的时序是 8 和 2 的倍数。据我记得,DDR 表示双倍数据速率(请检查这个,因为我找不到要再次检查的信息)。该内存能够同时双向传输(进出)。
原因很简单。DDR 的计时速度比给定总线频率快两倍。请不要混淆总线频率和总线传输率容量。总线以总线频率传输 32、64、128 或 256 位。每周期一组 128 位数据是一个巨大的数据量。
例如:在 200 MHz 的总线上发现了 DDR400。另一个名称是 PC3200。要从 400 到 3200,您会发现系数 8。无论 DDR (1/2/3/4...)
以下链接足以获得基础知识(并且可能比我的解释更好,更完整:))