Comment est-il possible d’identifier la RAM maximum supportée sur un serveur GNU/Linux sans redémarrer le serveur ou ouvrir son boîtier ?
Pour le savoir, il est possible d’utiliser la commande dmidecode ou utiliser simplement le script perl memconf développé par tomlschmidt.
memconf
Le script memconf permet d’identifier les tailles des barrettes de mémoires installées sur un poste de travail ou serveur Solaris, Linux, FreeBSD ou HP-UX.
Caractéristiques de memconf :
- Fonctionne sur la plupart des systèmes Solaris, Linux, FreeBSD et HP-UX.
- Fonctionne sur les machines virtuelles Solaris et Linux.
- Affiche des informations de CPU ainsi que des informations de la RAM.
- Soutien Solaris LDoms.
- Mis à jour régulièrement pour ajouter le support pour les nouveaux systèmes SPARC et X86.
Installation et utilisation du script memconf
Ouvrir un terminal et saisir :
cd /tmp wget http://softlayer-ams.dl.sourceforge.net/project/memconf/V3.06/memconf.v3.06.pl.gz gunzip memconf.v3.06.pl.gz sudo perl memconf.v3.06.pl -v
La encore pourquoi installer un paquet ? alors qu un awk suffit pour ressortir les 2 mêmes infos
awk -F « [ :] » ‘/Max|Size/ {unit[$1]=$NF;size[$1]+=$3$4}END{for (i in size) print i,size[i],unit[i]}’ <(dmidecode -t 16 -t 17)
oui effectivement ou utiliser la commande dmidecode mais tout le monde ne maîtrise pas aussi bien que toi la commande awk :-)
par contre, j’obtiens une erreur avec ta commande :
[code lang= »shell »]
[fred@manjaro-pc ~]$ awk -F « [ :] » ‘/Max|Size/ {unit[$1]=$NF;size[$1]+=$3$4}END{for (i in size) print i,size[i],unit[i]}’ <(dmidecode -t 16 -t 17)
bash: erreur de syntaxe près du symbole inattendu « ( »
[/code]
Avec dmidecode, on peut faire :
[code lang= »shell »]
[root@manjaro-pc fred]# dmidecode -t 16
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0039, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
[/code]
et pour savoir la quantité de RAM installée :
[code lang= »shell »]
[root@manjaro-pc fred]# free -h
total utilisé libre partagé tamp/cache disponible
Mem: 7,8G 1,2G 3,8G 20M 2,8G 6,3G
Partition d’échange: 952M 0B 952M
[/code]
Bref, avec le script memconf, on a toutes les infos d’un coup et plus :-)
ressaisis les simples et doubles quotes cela devrait etre bon :)
sinon dmidecode -t 17 pour la mémoire installée et le reste des infos qu affiche memconf concernant la memoire, bref ce script change l affichage, mais je comprend son utilité sans en comprendre son utilisation :p
Voilà ce que j’obtiens :
[code lang= »shell »]
awk -F "[ :]" ‘/Max|Size/ {unit[$1]=$NF;size[$1]+=$3$4}END{for (i in size) print i,size[i],unit[i]}’ <(dmidecode -t 16 -t 17)
Maximum 20 MB
Size 12288 kB
[root@manjaro-pc fred]# free -h
total utilisé libre partagé tamp/cache disponible
Mem: 7,8G 1,3G 348M 22M 6,2G 6,2G
Partition d’échange: 952M 0B 952M
[root@manjaro-pc fred]#
[/code]
ça correspond à quoi le : Size 12288 kB
Sinon, l’intérêt de memconf est sa simplicité d’utilisation :-)
faudrait voir ce que donne un dmidecode -t 16 et un dmidecode -t 17 separement car les resultats sont etranges effectivement :p