Question Linux - Existe-t-il un moyen d'identifier la vitesse de votre mémoire à l'aide d'un logiciel?


Existe-t-il un moyen d'identifier la vitesse de votre mémoire via un logiciel? Je suis sur Fedora 9 et cherche à connaître la vitesse des modules DIMM que j’ai actuellement.

J'ai essayé un 'lshw' mais il n'affiche pas la vitesse. Je sais que la carte mère supporte 3 vitesses différentes, mais je ne sais pas ce qu'il y a dedans et je ne veux pas éteindre la boîte.

Des idées?

Merci,

EDIT: J'ai trouvé que le bélier était '30 ns' selon dmidecode. Comment peut-il être 33 MHz si la carte ne supporte que 400, 533, 667 Mhz de RAM? 

EDIT 2: existe-t-il d'autres outils pour le faire?



EDIT 3: Je me suis rendu et j'ai fini par éteindre l'appareil pendant quelques minutes et ouvrir le dossier. Il s’est avéré être 667 MhZ - ce modèle: http://www.directron.com/rm12864aa667.html. Bien que je ne sois pas en mesure de comprendre que le logiciel a été programmé en 667, j’ai indiqué que la réponse de HD était la bonne, ce qui semble être le meilleur outil pour le poste.




Voici la sortie de 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

9
2017-08-06 02:08


origine


De quel fournisseur est la machine? Vous ne pouvez pas chercher sur leur site? - MDMarra
Non, c'est une machine construite sur mesure - barfoon


Réponses:


dmidecode est l'outil que vous recherchez.


18
2017-08-06 02:10



Il y a beaucoup d'informations ici - mais la vitesse est en ns, je veux la vitesse en MHz? - barfoon
ma dmidecode me donne des vitesses en ns et MHz, mais quelques secondes d'arithmétique (ou unités en cours d'exécution) effectueront la conversion si nécessaire. - womble♦
neoseeker.com/Hardware/faqs/kb/11,55.html - hdanniel
Donc, 30 ns de mémoire = 33 MHz? Est-ce que mes calculs sont corrects ici? 1 / (30 / 1.000.000) = vitesse en Hz - barfoon
@barfoon: Oui, 30ns == 33 MHz. Le calcul plus rapide est 1000 / (ns) == vitesse en MHz. - womble♦


Sur ma Debian, lshw donnez-moi cette information.

# 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      

13
2017-08-06 12:56



c'est génial, mais sur ma version cela ne montre pas la vitesse sous description. Merci quand même, - barfoon


Pouvez-vous poster votre sortie de dmidecode pour la section de mémoire? (dmidecode --type memory)

Vous voudrez peut-être lire ceci: http://www.howtoforge.com/dmidecode-finding-out-hardware-details-without-opening-the-computer-case

Le "NS" fait référence à "nanoseconde" la vitesse à laquelle la mémoire est capable de répondre. Plus le nombre est bas, plus la vitesse est rapide. Malheureusement, cela ne fait pas référence à un nombre exact de Mhz. DMIDECODE est supposé générer également le Mhz. Vérifiez tout en bas de la sortie ou simplement dmidecode --type memory | Grep Mhz


2
2017-08-10 05:10



Puis-je vous suggérer de mettre à jour votre version de dmidecode à la version 2.8 ou ultérieure. Vous pouvez saisir le nombre de tours ici: icewalkers.com/rpm/dmidecode/fedora-core-9/download/…  et juste rpm -i dmidecode * rpm Ver. 2.7 ne prend pas en charge l'affichage du Mhz auquel votre mémoire s'exécute. - David Rickman


Si vous voulez vraiment évaluer la vitesse de la mémoire, vous ne pouvez pas le faire en mode protégé par un processeur 386 bits, car les erreurs de page et la disposition des feuilles de page pèseront lourd dans les résultats.

Votre meilleur choix est de coder le point de repère en "mode réel" 16 bits, où vous avez un accès direct aux adresses physiques de la mémoire.

Pour un code de démarrage agréable et facilement personnalisable, consultez le code source du chargeur de démarrage GRUB stage1. stage1 est le MBR qui réside dans les 512 premiers octets de votre disque dur. Vous le trouverez dans le répertoire source stage1 / stage1.S; c'est très commenté et facilement compréhensible.

Une fois que vous avez personnalisé le MBR selon vos besoins, compilez-le en utilisant la méthode suivante:

$ 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

Vous avez maintenant un MBR x86 prêt. Il est souhaitable de tester votre code sur une machine virtuelle telle que Qemu ou Bochs avant de l'exécuter sur la machine réelle; cela facilitera également le cycle de compilation / débogage.

J'espère que ça aide


1
2017-08-09 10:41



Je pense qu'il veut juste savoir à quelle fréquence sa RAM est évaluée sans ouvrir la machine. - MDMarra


Si vous êtes vraiment chanceux, l'outil que vous recherchez est une lampe de poche. Un peu de mémoire, vous pouvez ouvrir le boîtier et regarder et voir un autocollant qui l’a sur l’étiquette. Cela dépend entièrement de votre cas, mais il n’est pas nécessaire d’éteindre la machine tant que vous êtes vraiment  vraiment  VRAIMENT prudent. Je ne sais pas à quel point vous avez travaillé avec des machines internes, mais c’est ce que j’essaie de faire lorsque je ne peux pas utiliser les commandes du logiciel Linux pour le comprendre.


1
2017-08-09 23:57





EDIT: J'ai trouvé que le bélier était '30 ns' selon dmidecode. Comment peut-il être 33 MHz si la carte ne supporte que 400, 533, 667 Mhz de RAM?

Je suppose que c'est quelque chose comme ça:

Chaque puce d’un module SIMM / DIMM s’exécute à 30 ns ou 33 MHz. Il y a 8 puces par SIMM, donc 8 x 33 MHz = 266 MHz; ou 16 puces par DIMM, ce qui donne 533 MHz.

Ainsi, alors que chaque puce fonctionne à 33 MHz, l’ensemble du module de mémoire peut fournir des données à 533 MHz.


1
2017-08-10 05:55



Je crois que cette réponse a le plus de sens, ive a posté la sortie de dmidecode ci-dessus - barfoon
Malheureusement, ce n’est pas aussi simple, car j’ai déjà constaté une vitesse de 30 ns et une vitesse de mémoire de 667 MHz ... Je ne suis donc pas certain qu’il existe une relation claire entre les deux. - olefebvre
@pgs - Dram synchrone ne fonctionne pas comme ça. Tous les jetons sont accessibles en parallèle. Il est plus probable que ces 30ns représentent le temps total d'accès au premier mot, en tenant compte des latences d'adresse de ligne et de colonne. Même s'il faut un total de 30 ns pour accéder au premier mot, les mots suivants doivent sortir beaucoup plus rapide. Les processeurs modernes consacrent beaucoup d’efforts à masquer ces latences à l’aide du cache, de la prédiction de branche et d’autres optimisations. - Mark Booth


Je sais que c'est un peu tard, mais:

Si vous prenez et réduisez de moitié les timings pris en charge, ils correspondent au taux donné de 30. Ensuite, si vous divisez par deux ce nombre et divisez 10000 par celui-ci, donne (800, 666, 571.4)

Je ne sais pas pourquoi, même si je pense que la connexion entre les synchronisations et le débit de données pourrait être compliqué; En outre, l’un d’eux pourrait être un double débit de données.


1
2018-04-09 23:34





Juste pour clarifier, la mémoire de 33 MHz que vous voyez à la fin est votre mémoire de bios :)

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

Si vous voulez utiliser un meilleur outil, installez lm_sensors (https://wiki.archlinux.org/index.php/Lm_sensors) et i2c-tools (https://www.archlinux.org/packages/?name=i2c-tools)

Ensuite, vous pouvez obtenir beaucoup plus de détails sur votre mémoire avec dimm-décodage (voici un exemple de la sortie):

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
2018-04-19 19:17



dimm-decode? Je pense que tu voulais dire decode-dimms. Quoi qu'il en soit, cela ne fonctionne pas pour moi: indique que 0 DIMM SDRAM ont été détectés. - underscore_d


Si possible, essayez d’exécuter Memtest, IIRC pour afficher le débit total ainsi que la vitesse de la mémoire dans le coin supérieur gauche (20000Mo / s @ 667MHz par exemple).


0
2017-08-11 14:44