Linux - Чи є спосіб визначити швидкість вашої пам'яті за допомогою програмного забезпечення?


9

Чи є спосіб визначити швидкість вашої пам’яті за допомогою програмного забезпечення? Я на Fedora 9 і шукаю, щоб дізнатися швидкість роботи DIMM у мене в даний момент.

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

Будь-які ідеї?

Дякую,

EDIT: Я визнав, що баран "30 нс" згідно з dmidecode. Як це може бути 33 МГц, якщо плата підтримує лише 400, 533, 667 МГц оперативної пам’яті?

EDIT 2: Чи є інші інструменти для цього?



EDIT 3: Я фактично здався і в кінцевому підсумку вимкнув енергію на кілька хвилин і відкрив справу. Виявилось 667 МГц - ця модель: http://www.directron.com/rm12864aa667.html . Незважаючи на те, що насправді не вдалося зрозуміти, що це 667 за допомогою програмного забезпечення, я відзначив відповідь HD як правильну, оскільки це, здається, є найкращим інструментом для роботи.




Ось вихід пам'яті типу demidecode

# 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 дає мені швидкості в нс і МГц, але кілька секунд арифметичних (або запущених одиниць) виконає перетворення при необхідності.
живіт


1
Отже, 30 нс пам'яті = 33 МГц? Моя математика там правильна? 1 / (
30/1

3
@barfoon: Так, 30ns == 33 МГц. Швидший обчислення - 1000 / (нс) == швидкість в МГц.
живіт

13

На моєму 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      

це чудово, але в моїй версії він не показує швидкість, що описується. Спасибі все
одно

2

Чи можете ви розмістити свій вихід dmidecode для розділу пам'яті? ( пам'ять типу dmidecode )

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

"NS" посилається на "наносекундну" швидкість, з якою пам'ять здатна відповісти. Чим менше число, тим швидше швидкість. На жаль, це не стосується точного числа МГц. DMIDECODE також повинен виводити МГц. Перевірте внизу виводу або просто dmidecode - пам'ять типу | греп Мгц


Можливо, я б запропонував вам оновити свою версію dmidecode до 2.8 або пізнішої версії. Ви можете захопити rpm тут: icewalkers.com/rpm/dmidecode/fedora-core-9/download/… та просто rpm -i dmidecode * rpm Ver. 2.7 не підтримує показ МГц, на якому працює Ваша пам'ять.
Девід Рікман

1

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

Ваша найкраща ставка - це кодування еталону в 16-бітовому "реальному режимі", де ви маєте прямий доступ до фізичних адрес пам'яті.

Щоб отримати приємний код завантаження, який можна легко налаштувати, перевірте джерело завантажувача GRUB 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

EDIT: Я визнав, що баран "30 нс" згідно з dmidecode. Як це може бути 33 МГц, якщо плата підтримує лише 400, 533, 667 МГц оперативної пам’яті?

Я здогадуюсь, що це щось подібне:

Кожен окремий чіп на SIMM / DIMM працює на 30ns або 33MHz. Є 8 мікросхем на SIMM, тому 8 х 33 МГц = 266 МГц; або 16 чіпів на DIMM, даючи 533 МГц.

Отже, хоча кожен чіп працює на 33 МГц, весь модуль пам'яті може доставляти дані на 533 МГц.


Я вважаю, що ця відповідь має найбільш сенс, я розмістив вихід dmidecode вище
barfoon

На жаль, це не так просто, як я бачив таке, як повідомляється про швидкість 30ns, а фактична швидкість пам’яті 667MHz… Тож я не впевнений, що це ясна взаємозв'язок між ними.
olefebvre

@pgs - Синхронний драм не працює так. Всі фішки доступні паралельно. Більш ймовірно, що ці 30ns - це загальний час доступу до першого слова з урахуванням затримок адреси рядків та стовпців. Навіть якщо для доступу до першого слова потрібно всього 30ns, наступні слова повинні вийти набагато швидше. Сучасні процесори витрачають багато зусиль, ховаючи такі затримки, використовуючи кеш, прогнозування гілок та інші оптимізації.
Марк Бут

1

Я знаю, це трохи пізно, але:

Якщо взяти підтримувані таймінги і вдвічі зменшити їх, вони підходять із заданою нормою 30. Потім, якщо ви вдвічі зменшите цю кількість і розділите 10000 на неї, дає (800, 666, 571.4)

Я не маю поняття, чому, хоча я вважаю, що зв'язок між часом і швидкістю передачі даних може бути складним; Також однією з них може бути подвійна швидкість передачі даних.


1

Просто для уточнення, 33 МГц пам’яті, яку ви бачите наприкінці, - це ваша біологічна пам’ять :)

    Type: Flash
    Type Detail: Non-Volatile
    Speed: 33 MHz
    Manufacturer: ATMEL

Якщо ви хочете скористатися кращим інструментом, встановіть lm_sensors ( https://wiki.archlinux.org/index.php/Lm_sensors ) та i2c-інструменти ( https://www.archlinux.org/packages/?name=i2c- інструменти )

Тоді ви можете отримати набагато більш детальну інформацію про вашу пам'ять за допомогою dimm-декодування (ось зразок виводу):

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 DIMM SDRAM.
підкреслюй_d

0

Якщо можливо, спробуйте запустити Memtest, IIRC, він показує корита та швидкість пам'яті у верхньому лівому куті (наприклад, 20000 МБ / с при 667 МГц).


0

Часи синхронізації з DDR sdram кратні від 8 AND від 2. З того, що я пам’ятаю, DDR означає подвійну швидкість передачі даних (будь ласка, перевірте це, тому що я не міг знайти інформацію, щоб перевірити ще раз). Ця пам’ять здатна переносити обидва способи (вмикання та вихід) у середній час.

Причина проста. DDR приурочується в два рази швидше заданої частоти шини. Будь ласка, не плутайте частоту та швидкість передачі шини для шини. Шина передає 32, 64, 128 або 256 біт на частоті шини. Один набір із 128 біт даних PER CYCLE - це величезна кількість даних.

Як приклад: DDR400 був знайдений на автобусах при 200 МГц. Інша назва - PC3200. Щоб отримати від 400 до 3200, ви знайдете коефіцієнт 8. Цей коефіцієнт ЗАВЖДИ перевірений незалежно від DDR (1/2/3/4 ...)

Наступне посилання є досить хорошим, щоб отримати основи (і, мабуть, краще і повніше, ніж мої пояснення :))

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.