[gull] Memory: 8179320k/8912896k available (3312k kernel code, 528920k absent

Marc Mongenet marc at mongenet.ch
Sat Jan 23 14:48:30 CET 2010


Bonjour,

Qu'est-ce que la mémoire "absente" ?
Comment la récupérer ?

En détail :
Depuis que mon PC est un x86_64 avec 8 Go de RAM,
j'ai plus de 512 Mo de RAM qui sont déclarés "absent"
par le noyau :

> dmesg
Linux version 2.6.32-ARCH (tobias at T-POWA-LX) (gcc version 4.4.2
20091208 (prerelease) (GCC) ) #1 SMP PREEMPT Mon Jan 18 23:30:46 CET
2010
[...]
Memory: 8179320k/8912896k available (3312k kernel code, 528920k
absent, 203700k reserved, 1752k data, 472k init)
[...]
> free
            total       used       free     shared    buffers     cached
Mem:       8181348     344756    7836592          0       9112     128276
-/+ buffers/cache:     207368    7973980
Swap:            0          0          0


Ce que j'ai découvert jusque là :
1) Je ne suis pas seul à rencontrer cela :
   http://bbs.archlinux.org/viewtopic.php?id=14412
2) J'ai testé avec MemTest86+ et je n'ai pas de
   mémoire défectueuse (j'en ai eu, mais je l'ai
   remplacée, et de toute façon il faut plusieurs minutes
   de test pour détecter un bit défectueux dans 8 Go de
   RAM, donc le noyau ne peut pas raisonnablement
   faire ce test au démarrage.)
3) L'affichage de ce message est causé par la ligne 682
   du ficier source du noyau arch/x86/mm/init_64.c :
   http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.32.y.git;a=blob;f=arch/x86/mm/init_64.c;h=5a4398a6006bcca5a0bce02e53f06601f399a09e;hb=HEAD#l682
4) C'est la fonction absent_pages_in_range qui calcule
   cette valeur. Voici ce qu'elle fait :
   Return number of page frames in holes within a range.
   http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.32.y.git;a=blob;f=mm/page_alloc.c#l3623
5) Je vois plus ou moins ce que sont des "page frames"
   et des "holes" (c'est expliqué dans
   http://www.informit.com/articles/article.aspx?p=29961),
   mais pas suffisamment pour saisir toutes les
   implications.

Marc Mongenet


More information about the gull mailing list