# [free] mémoire réelle

## yesi

salut,

j'aimerais savoir pourquoi je n'arrive pas à voir la "totalité" de ma mémoire que j'ai rajouté sur mon serveur?

             total       used       free     shared    buffers     cached

Mem:       3090512    3068548      21964          0      31688    2956300

-/+ buffers/cache:      80560    3009952

Swap:      2096472        208    2096264

j'en ai que 3G alors que je devrais en avoir plus ...

merci de vos retours.

----------

## Temet

S'il est en 32 bits, je crois que c'est normal.

Faut que tu ailles voir la conf de ton kernel, normalement c'est 4 Go max en 32 bits.

----------

## kwenspc

 *Temet wrote:*   

> S'il est en 32 bits, je crois que c'est normal.
> 
> Faut que tu ailles voir la conf de ton kernel, normalement c'est 4 Go max en 32 bits.

 

4Go sous nux et encore: faut utiliser la fonction HighMem support. Pour plus de 4go faut je sais plus quelle fonctionnalité, qui d'ailleurs merdoie si on la met en concurrence avec le support Xen (fin ceci dit mon expérience à ce sujet remonte à 9 mois).

Le 64 bits à du bon sur le serv bien fournit en ram.

----------

## Temet

Bah le HighMem de toute manière, il l'a activé car sinon ça afficherait 870 Mo de ram ^^

----------

## polytan

C'est qu'un avis, mais le titre est mal foutu et pas explicatif  :Smile: 

C'est pas parce qu'il y a des crochets que ca roule...

(Ca y est, je vais passer pour le chiant de service !)

----------

## Desintegr

On ne connaît d'ailleurs pas la quantité de mémoire installée sur cette machine !

La mémoire est-elle bien détectée par le BIOS au moins ?

----------

## BuBuaBu

4Go, c'est la limite maximal de mémoire sur un systeme classique en 32Bits.

En effet, c'est une question d'addressage.

Comme il faut également adresser des autres trucs dans le pc, (carte graphique, pci ...) c'est normal que le maximum soit en dessous des 4Go.

C'est une limite hardware. Aucune config de kernel ne pourra permettre de dépasser cette limitte.

----------

## kwenspc

 *BuBuaBu wrote:*   

> 4Go, c'est la limite maximal de mémoire sur un systeme classique en 32Bits.
> 
> En effet, c'est une question d'addressage.
> 
> Comme il faut également adresser des autres trucs dans le pc, (carte graphique, pci ...) c'est normal que le maximum soit en dessous des 4Go.
> ...

 

Ça c'est toi qui le dit. Voilà un des serveurs que j'administre (pas sous Gentoo malheureusement...):

```

# free -m

             total       used       free     shared    buffers     cached

Mem:         16243       1254      14989          0        144        938

-/+ buffers/cache:        171      16071

Swap:        30514          0      30514

# uname -a

Linux machin 2.6.15-26-server #1 SMP Fri Sep 8 21:00:37 UTC 2006 i686 GNU/Linux

```

 :Rolling Eyes: 

[edit] vous noterez la taille du swap: n'importe quoi n'est ce pas? Comme je disais ce n'est ni Gentoo ni moi qui ait installé ce serv en fait...[/edit]

 bon ok y a 4 CPU...ça le free il le dit pas ^^ 

----------

## polytan

C'est quoi l'unité des valeurs pour la mémoire ? Mo ?

----------

## kwenspc

 *polytan wrote:*   

> C'est quoi l'unité des valeurs pour la mémoire ? Mo ?

 

Oui l'option -m permet d'afficher en mégo-octet. 

Bon en fait tout ça pour dire que sur un système 32 bits on peut dépasser la limite des 4go SSI on utilise >=2 CPU en SMP. Voilà j'avoue, j'ai joué sur les mots de ce qu'a dit BuBuaBu. Hum d'ailleurs cette technique, je crois qu'elle n'est valable que sur certains CPU/Chipset il me semble non?

----------

## guilc

 *kwenspc wrote:*   

>  *polytan wrote:*   C'est quoi l'unité des valeurs pour la mémoire ? Mo ? 
> 
> Oui l'option -m permet d'afficher en mégo-octet. 
> 
> Bon en fait tout ça pour dire que sur un système 32 bits on peut dépasser la limite des 4go SSI on utilise >=2 CPU en SMP. Voilà j'avoue, j'ai joué sur les mots de ce qu'a dit BuBuaBu. Hum d'ailleurs cette technique, je crois qu'elle n'est valable que sur certains CPU/Chipset il me semble non?

 

Bah en fait, avec les kernels récents, on peut adresse plus de 4Go de RAM tout le temps en 32bits ! Il suffit de ça :

```

CONFIG_HIGHMEM64G:

Select this if you have a 32-bit processor and more than 4 gigabytes of physical RAM.  
```

----------

## ghoti

[quote="kwenspc"] *polytan wrote:*   

> Bon en fait tout ça pour dire que sur un système 32 bits on peut dépasser la limite des 4go SSI on utilise >=2 CPU en SMP. 

 

Je ne vois pas de limitation de cette sorte dans la config du noyau : même si tu es en "mono CPU", l'option HIGHMEM64G doit permettre de monter à 64 Gb.

Cela dit, l'accès à 4 Gb est défini par l'option HIGHMEM4G. Sans ces deux dernières options, le système considère qu'il n'y a qu'un seul Gb au maximum.

Les résultats donnés par le "free" de notre ami paraissent en effet singuliers : même si on tient compte de l'"espace noyau", on devrait soit dépasser les 4.000.000.000 d'octets, soit se situer vers 870 méga comme souligné par Temet ! 

Le free montre visiblement qu'Il manque un quart de la RAM.

Au fait, elle est constituée comment cette RAM ? 4 barrettes de 1 Gb ? Il y a peut-être une barrette naze ?

----------

## xaviermiller

ou tout simplement un chipset graphique intégré à la carte-mère et qui prend de la RAM ?

----------

## polytan

Eh ! j'ai rien dit moi  :Very Happy: 

----------

## ghoti

 *XavierMiller wrote:*   

> ou tout simplement un chipset graphique intégré à la carte-mère et qui prend de la RAM ?

 

Ouais mais en l'absence d'infos, on suppose à priori qu'il s'agit d'un matos sérieux, non ?  :Laughing: 

----------

## xaviermiller

Mon PC est sérieux, sauf que j'ai préféré une CM avec GPU intégré (un nVidia 6150), suffisant pour ce que j'en fais (virevoleter un cube de temps en temps)

----------

## BuBuaBu

 *kwenspc wrote:*   

> 
> 
> Ça c'est toi qui le dit. Voilà un des serveurs que j'administre (pas sous Gentoo malheureusement...):
> 
> 

 

J'ai précisé pour un système 32bits classique !!

Les cartes serveurs possédants plusieurs bus mémoires ne sont pas soumis a cette règle.

2^32 = 4 294 967 296 soit 4Go adressable. donc si on possède deux bus mémoires, on passe alors a 8Go et ainsi de suite.

----------

## guilc

 *BuBuaBu wrote:*   

>  *kwenspc wrote:*   
> 
> Ça c'est toi qui le dit. Voilà un des serveurs que j'administre (pas sous Gentoo malheureusement...):
> 
>  
> ...

 

Sauf que non  :Wink: 

Comme cité plus haut, HIGHMEM64G permet de dépasser cette limite, même sur 32bits  :Wink: 

----------

## gbetous

Il me semble que les processeurs 32 bits adressent leur mémoire en plus de 32 bits... Il me semble que les Pentiums (depuis les 1er du nom ???) adressent 64Go.

----------

## blasserre

j'ai la flemme de chercher, mais si quelqu'un a la réponse, je pendrais la peine de la lire   :Razz: 

n'y aurait-il pas un rapport avec les memory split ?

```

CONFIG_VMSPLIT_3G=y

# CONFIG_VMSPLIT_3G_OPT is not set

# CONFIG_VMSPLIT_2G is not set

# CONFIG_VMSPLIT_1G is not set

```

c'est juste le 3G qui me fait dire ça, alors patapé

----------

## BuBuaBu

 *guilc wrote:*   

> 
> 
> Bah en fait, avec les kernels récents, on peut adresse plus de 4Go de RAM tout le temps en 32bits ! Il suffit de ça :
> 
> ```
> ...

 

Effectivement, j'ai dit des bêtises un peu plus haut :

Depuis l'architecture P5 ou i585, le bus mémoire est sur 64bits donc une limite de 64Go

Reste a voir si il n'y a pas un autre composant qui limite.

EDIT : Comme le montre ce document : 

Dans le chapitre "System Address Map" on peu y lire : "The processor in an 875P chipset system supports 4 GB of addressable memory space".

Bon, ok c'est pour un chipset intel 875p, ça commence a dater, mais ça limite bien a 4Go de mémoire adressable, ce qui peu inclure d'autre chose que la ram.

----------

## kwenspc

 *ghoti wrote:*   

>  *kwenspc wrote:*   Bon en fait tout ça pour dire que sur un système 32 bits on peut dépasser la limite des 4go SSI on utilise >=2 CPU en SMP.  
> 
> Je ne vois pas de limitation de cette sorte dans la config du noyau : même si tu es en "mono CPU", l'option HIGHMEM64G doit permettre de monter à 64 Gb.

 

Ah ok ça fonctionne aussi en mono-CPU? Je savais pas, bonne nouvelle alors  :Smile: 

----------

## blasserre

 *kwenspc wrote:*   

>  *ghoti wrote:*    *kwenspc wrote:*   Bon en fait tout ça pour dire que sur un système 32 bits on peut dépasser la limite des 4go SSI on utilise >=2 CPU en SMP.  
> 
> Je ne vois pas de limitation de cette sorte dans la config du noyau : même si tu es en "mono CPU", l'option HIGHMEM64G doit permettre de monter à 64 Gb. 
> 
> Ah ok ça fonctionne aussi en mono-CPU? Je savais pas, bonne nouvelle alors 

 

tu t'inquiètes pour OOo-3 et Firefox-3 ?  :Mr. Green: 

----------

## gbetous

 *BuBuaBu wrote:*   

> 
> 
> Depuis l'architecture P5 ou i585, le bus mémoire est sur 64bits donc une limite de 64Go

 

Désolé de chipoter, mais : 

- depuis il a sacrément réduit (je crois qu'on est sur du 36 bits ou qqchose dans ce gout là)

- 64 bits permettent d'adresser bcp plus que 64Go, puisque ce sont 16 milliards de Go !!!

Ensuite, faut pas oublier que le CPU n'est pas le seul dans l'histoire, et que les RAMs elle meme ont leur limite, et entre les 2 le chipset aussi a une limite...

----------

