Есть ли способ определить скорость вашей памяти с помощью программного обеспечения? Я использую Fedora 9 и хочу узнать скорость DIMM, которые у меня есть сейчас.
Я пробовал lshw, но скорость не отображается. Я знаю, что материнская плата поддерживает 3 разных скорости, но я не знаю, что там, и не хочу выключать коробку.
Любые идеи?
Спасибо,
РЕДАКТИРОВАТЬ: Я обнаружил, что барабан составляет «30 нс» в соответствии с dmidecode. Как это может быть 33 МГц, если плата поддерживает только 400, 533, 667 МГц RAM?
РЕДАКТИРОВАТЬ 2: Есть ли другие инструменты для этого?
Вот результат работы 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 дайте мне эту информацию.
# 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 - тип памяти)
Вы можете прочитать это: http://www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case
«NS» указывает на «наносекунду» скорость, с которой память может отвечать. Чем меньше число, тем выше скорость. К сожалению, это не указывает на точное число МГц. Предполагается, что DMIDECODE также выводит Mhz. Проверьте в самом низу вывода или просто dmidecode - тип памяти | grep Mhz
Если вы действительно хотите протестировать скорость памяти, вы не можете сделать это в защищенном режиме 32-битного процессора 386, поскольку ошибки страниц и макет таблиц будут иметь большое значение в результатах.
Лучше всего кодировать тест в 16-битном «реальном режиме», где у вас есть прямой доступ к физическим адресам памяти.
Чтобы получить хороший загрузочный код, который можно легко настроить, проверьте исходный код загрузчика GRUB stage1. stage1 - это MBR, которая находится в первых 512 байтах вашего жесткого диска. Вы найдете его в исходном каталоге stage1 / stage1.S file; он хорошо комментируется и легко понятен.
После того, как вы настроили 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, прежде чем запускать его на реальной машине; это также упростит цикл компиляции / отладки.
Надеюсь, поможет
Если вам действительно повезло, то вам нужен фонарик. Немного памяти вы можете открыть корпус и посмотреть и увидеть наклейку, на которой он есть. Все зависит от вашего случая, насколько легко добраться до него, и вам не нужно выключать машину, пока вы действительно действительно ДЕЙСТВИТЕЛЬНО осторожный. Я не знаю, насколько вы опытны в работе с внутренними устройствами машин, но это следующее, что я пробую, когда не могу использовать программные команды Linux, чтобы понять это.
РЕДАКТИРОВАТЬ: Я обнаружил, что барабан составляет «30 нс» в соответствии с dmidecode. Как это может быть 33 МГц, если плата поддерживает только 400, 533, 667 МГц RAM?
Я предполагаю, что это примерно так:
Каждая отдельная микросхема в SIMM / DIMM работает на частоте 30 нс или 33 МГц. На SIMM приходится 8 микросхем, поэтому 8 x 33 МГц = 266 МГц; или 16 микросхем на DIMM, что дает 533 МГц.
Таким образом, хотя каждый чип работает на частоте 33 МГц, весь модуль памяти может передавать данные на частоте 533 МГц.
Я знаю, что это немного поздно, но:
Если вы возьмете поддерживаемые тайминги и уменьшите их вдвое, они будут соответствовать заданному значению 30. Затем, если вы разделите это вдвое и разделите на него 10000, получится (800, 666, 571,4)
Я понятия не имею, почему, хотя мне кажется, что связь между таймингом и скоростью передачи данных может быть сложной; Кроме того, одним из них может быть двойной скорость передачи данных.
Чтобы уточнить, память 33 МГц, которую вы видите в конце, - это ваша память 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-tools)
Затем вы можете получить более подробную информацию о вашей памяти с помощью 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, он покажет минимальное значение, а также скорость памяти в верхнем левом углу (например, 20000 МБ / с при 667 МГц).
Тайминги с DDR sdram кратны 8 И от 2. Насколько я помню, DDR означает двойную скорость передачи данных (пожалуйста, проверьте это, потому что я не смог найти информацию для повторной проверки). В то же время эта память может передавать данные в обоих направлениях (внутрь и наружу).
Причина проста. DDR синхронизируется в два раза быстрее, чем заданная частота шины. Пожалуйста, не путайте частоту шины и пропускную способность шины. Шина передает 32, 64, 128 или 256 бит на частоте шины. Один набор из 128 бит данных ЗА ЦИКЛ - это огромный объем данных.
В качестве примера: DDR400 была обнаружена на шинах с частотой 200 МГц. Другое название - PC3200. Чтобы получить от 400 до 3200, вы найдете коэффициент 8. Этот коэффициент ВСЕГДА проверяется независимо от DDR (1/2/3/4 ...)
Следующая ссылка достаточно хороша, чтобы получить основы (и, вероятно, лучше и полнее, чем мои объяснения :))