Linux - есть ли способ определить скорость вашей памяти с помощью программного обеспечения?


9

Есть ли способ определить скорость вашей памяти с помощью программного обеспечения? Я нахожусь на Fedora 9 и ищу скорость DIMM, которая у меня есть в настоящее время.

Я пробовал lshw, но он не отображает скорость. Я знаю, что материнская плата поддерживает 3 разные скорости, но я не знаю, что там, и не хочу выключать коробку.

Любые идеи?

Спасибо,

РЕДАКТИРОВАТЬ: я обнаружил, что оперативной памяти '30 нс 'в соответствии с dmidecode. Как может быть 33 МГц, если плата поддерживает только 400, 533, 667 МГц ОЗУ?

РЕДАКТИРОВАТЬ 2: Есть ли другие инструменты для этого?



РЕДАКТИРОВАТЬ 3: Я фактически сдался и закончил тем, что выключил на несколько минут и открыл дело. Оказалось, 667 МГц - это модель: 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

От какого производителя машина? Вы не можете найти это на их сайте?
MDMarra

Нет, это изготовленная на заказ машина
барфун

Ответы:


18

dmidecode - это инструмент, который вы ищете.


Здесь много информации - но скорость в нс, я хочу скорость в МГц?
Барфун

Мой dmidecode дает мне скорости в нс и МГц, но несколько секунд арифметических (или работающих единиц) выполнят преобразование в случае необходимости.
womble


1
Итак, 30 нс памяти = 33 МГц? Верна ли моя математика? 1 / (
30/1

3
@ barfoon: Да, 30 нс == 33 МГц. Более быстрый расчет составляет 1000 / (нс) == скорость в МГц.
womble

13

На моем Debian я предоставлю эту информацию.

# 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      

это здорово, но на моей версии не показывает скорость по описанию. Спасибо в любом случае,
Барфун

2

Можете ли вы опубликовать вывод dmidecode для раздела памяти? ( dmidecode - тип памяти )

Вы можете прочитать это: http://www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case

«NS» обозначает «наносекунду» скорость, с которой память может ответить. Чем ниже число, тем выше скорость. К сожалению, это не ссылается на точное число МГц. DMIDECODE должен также выводить МГц. Проверьте в самом низу вывода или просто dmidecode --type memory | grep Mhz


Могу ли я предложить вам обновить версию dmidecode до версии 2.8 или новее. Вы можете получить rpm здесь: icewalkers.com/rpm/dmidecode/fedora-core-9/download/… и просто rpm -i dmidecode * rpm Ver. 2.7 не поддерживает отображение Mhz, на котором работает ваша память.
Дэвид Рикман

1

Если вы действительно хотите измерить скорость памяти, вы не сможете сделать это в защищенном режиме с 32-битным процессором 386, так как ошибки страниц и расположение таблиц страниц значительно повлияют на результаты.

Лучше всего ставить код в 16-битном «реальном режиме», где у вас есть прямой доступ к физическим адресам памяти.

Хороший загрузочный код, который можно легко настроить, проверьте исходный код GRUB bootloader stage1. stage1 - это MBR, который находится в первых 512 байтах вашего жесткого диска. Вы найдете его в файле исходного каталога 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, прежде чем запускать его на реальной машине; это также облегчит цикл компиляции / отладки.

Надеюсь, поможет


1
Я думаю, что он просто хочет знать, на какой частоте оценивается его ОЗУ, не открывая машину.
MDMarra

1

Если вам действительно повезло, инструмент, который вы ищете, это фонарик. Некоторая память вы можете открыть чехол вверх и посмотреть и увидеть наклейку с этим на этикетке. Полностью зависит от вашего случая, хотя, насколько легко добраться до него, и вам не нужно выключать машину, пока вы на самом деле действительно ДЕЙСТВИТЕЛЬНО осторожны. Я не знаю, насколько вы опытны в работе с внутренними компонентами машин, но это следующее, что я пробую, когда не могу использовать программные команды Linux, чтобы понять это.


1

РЕДАКТИРОВАТЬ: я обнаружил, что оперативной памяти '30 нс 'в соответствии с dmidecode. Как может быть 33 МГц, если плата поддерживает только 400, 533, 667 МГц ОЗУ?

Я предполагаю, что это что-то вроде этого:

Каждый отдельный чип на SIMM / DIMM работает на частоте 30 нс или 33 МГц. На SIMM приходится 8 чипов, поэтому 8 x 33 МГц = 266 МГц; или 16 чипов на DIMM, что дает 533 МГц.

Таким образом, хотя каждый чип работает на частоте 33 МГц, весь модуль памяти может передавать данные на частоте 533 МГц.


Я полагаю, что этот ответ имеет больше смысла, я опубликовал вывод dmidecode выше
барфун

К сожалению, это не так просто, поскольку я видел такую ​​вещь, как заявленная скорость 30 нс и фактическая скорость памяти 667 МГц ... Так что я не уверен, что между ними есть четкая связь.
olefebvre

@pgs - Синхронный драм не работает так. Все чипы доступны параллельно. Более вероятно, что эти 30 нс - общее время доступа к первому слову с учетом задержек адресов строк и столбцов. Даже если для доступа к первому слову требуется всего 30 нс, последующие слова должны появляться намного быстрее. Современные процессоры тратят много усилий на сокрытие таких задержек, используя кеш, предсказание ветвлений и другие оптимизации.
Марк Бут

1

Я знаю, что уже немного поздно, но:

Если вы возьмете поддерживаемые тайминги и разделите их пополам, они подойдут с заданной скоростью 30. Тогда, если вы вдвое уменьшите это число и поделите на него 10000, вы получите (800, 666, 571.4).

Я понятия не имею, почему, хотя мне кажется, что связь между таймингами и скоростью передачи данных может быть сложной; Кроме того, одним из них может быть двойная скорость передачи данных.


1

Просто чтобы уточнить, память 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- инструменты )

Затем вы можете получить гораздо более подробную информацию о вашей памяти с помощью 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

1
dimm-decode? Я думаю, что вы имели в виду decode-dimms. Во всяком случае, это не работает для меня: говорит, что 0 SDRAM DIMM были обнаружены.
underscore_d

0

Если возможно, попробуйте запустить Memtest, IIRC показывает минимальное значение, а также скорость памяти в верхнем левом углу (например, 20000 МБ / с при 667 МГц).


0

Синхронизация с DDR SDRAM кратна 8 И 2. Насколько я помню, DDR означает двойную скорость передачи данных (пожалуйста, отметьте это, потому что я не смог найти информацию для повторной проверки). Эта память может передавать оба пути (вход и выход) в то же время.

Причина проста. DDR рассчитан в два раза быстрее, чем заданная частота шины. Пожалуйста, не путайте частоту шины и пропускную способность шины. Шина передает 32, 64, 128 или 256 бит на частоте шины. Один набор из 128 бит данных на цикл - это огромный объем данных.

Как пример: DDR400 был обнаружен на шинах с частотой 200 МГц. Другое имя - PC3200. Чтобы получить от 400 до 3200, вы найдете коэффициент 8. Этот фактор ВСЕГДА проверяется независимо от DDR (1/2/3/4 ...)

Следующая ссылка достаточно хороша, чтобы получить основы (и, вероятно, лучше и полнее, чем мои объяснения :))

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.