Mémoire RAM

Dernière mise à jour : Debian 9.8

1 - Utilisation de la mémoire

La commande free permet de connaître la quantité de mémoire reconnue et utilisée par le système :

# free -h
total used free shared buffers cached
Mem: 3,8G 2,2G 1,6G 161M 59M 1,2G
-/+ buffers/cache: 973M 2,8G
Swap: 7,8G 0B 7,8G

2 - Caractéristiques

2.1 - Références et capacités

dmidecode fournit un premier jeu d'informations sur le type de carte mémoire et la capacité maximum et installée.

# dmidecode -t memory
# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x0040, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 4

......
Handle 0x0043, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0040
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: SODIMM
Set: None
Locator: ChannelB-DIMM0
Bank Locator: BANK 2
Type: DDR3
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Samsung
Serial Number: 00BE03C8
Asset Tag: 9876543210
Part Number: M471B5273DH0-CH9
Rank: 2
.....

Il apparaît que la carte mère dispose de 4 emplacements (devices) (à vérifier s'ils sont tous équipés de connecteur), pouvant recevoir des cartes mémoire au format SO-DIMM, pour une capacité totale maximale de 32 Go.

Une carte mémoire occupe la position (rank) 2. La carte a une capacité (size) de 4 Go, ses caractéristiques : type DDR3, fréquence 1333 GHz, fabriquant Samsung, référence constructeur M471B5273DH0-CH9.

2.2 - Caractéristiques détaillées

Une EEPROM installée sur la carte mémoire fournit des informations détaillées sur les caractéristiques de la mémoire. Pour y accéder, installer i2c-tools et charger les pilotes de communication :

# apt install i2c-tools
# modprobe eeprom
# modprobe i2c-i801

Accéder aux informations :

# decode-dimms
# decode-dimms version 6231 (2014-02-20 10:54:34 +0100)

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0052
Guessing DIMM is in bank 3

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116 OK (0xFC7B)
# of bytes written to SDRAM EEPROM 176
Total number of bytes in EEPROM 256
Fundamental Memory type DDR3 SDRAM
Module Type SO-DIMM

---=== Memory Characteristics ===---
Fine time base 1.000 ps
Medium time base 0.125 ns
Maximum module speed 1333 MHz (PC3-10600)
Size 4096 MB
Banks x Rows x Columns x Bits 8 x 15 x 10 x 64
Ranks 2
SDRAM Device Width 8 bits
Bus Width Extension 0 bits
tCL-tRCD-tRP-tRAS 9-9-9-24
Supported CAS Latencies (tCL) 9T, 8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR) 15.000 ns
Minimum Row Active to Row Active Delay (tRRD) 6.000 ns
Minimum Active to Auto-Refresh Delay (tRC) 49.125 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) 30.000 ns

---=== Optional Features ===---
Operable voltages 1.5V
RZQ/6 supported? Yes
RZQ/7 supported? Yes
DLL-Off Mode supported? Yes
Operating temperature range 0-95 degrees C
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 Not implemented
SDRAM Device Type Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm) 30
Module Thickness (mm) 2 front, 2 back
Module Width (mm) 67.6
Module Reference Card F

---=== Manufacturer Data ===---
Module Manufacturer Samsung
DRAM Manufacturer Samsung
Manufacturing Location Code 0x03
Manufacturing Date 2012-W11
Assembly Serial Number 0x00BE03C8
Part Number M471B5273DH0-CH9

3 - Test

3.1 - Memtester

Le programme memtester permet de tester la mémoire RAM pendant le fonctionnement du système. L'installation s'effectue depuis les dépôts :

# apt install memtester

Le test s'effectue sur la mémoire disponible. De façon à augmenter la taille disponible :

# sync ; echo 3 > /proc/sys/vm/drop_caches

Vérifier l'espace disponible avec free :

# free -h
total used free shared buffers cached
Mem: 3,8G 2,2G 1,6G 161M 59M 1,2G
-/+ buffers/cache: 973M 2,8G
Swap: 7,8G 0B 7,8G

Dans le cas présent, 1,6GB sont disponibles. Lancer la commande de test :

# memtester 1600 5

Les résultats du test s'affichent au fur et à mesure.

# memtester 6000 5
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 6000MB (6291456000 bytes)
got 6000MB (6291456000 bytes), trying mlock ...locked.
Loop 1/5:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok

Loop 2/5:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok

Loop 3/5:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok

Loop 4/5:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok

Loop 5/5:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok

Done.

3.2 - MemTest86 v8.1

MemTest86 v8.1 est un programme de test de mémoire non libre, qui fonctionne au démarrage du système indépendamment de tout système d'exploitation.

$ unzip memtest86-usb.zip 
$ sudo dd if=memtest86-usb.img of=/dev/sdb bs=1M && sync