Debian limité a 1go de ram??

Debian limité a 1go de ram?? - Hardware - Linux et OS Alternatifs

Marsh Posté le 10-08-2005 à 16:26:08    

salut a tous,
 
j'ai un serveur avec 2go de ram ddr2 sous debian 2.6.8 et il ne me reconnait que 900mo de ram?! alors que le bios lui reconnait bien les 2go.
 
d'ou cela peut venir?

Reply

Marsh Posté le 10-08-2005 à 16:26:08   

Reply

Marsh Posté le 10-08-2005 à 16:29:35    

Il faut activer le support highmem dans le kernel, vérifie si Debian en propose un avec le support intégré.

Reply

Marsh Posté le 10-08-2005 à 16:35:30    

il faut donc recompiler? je sais pas si ça va etre possible, car l'interruption doit durer peut de temps...

Reply

Marsh Posté le 10-08-2005 à 16:47:19    

Faut vérifier si Debian ne fourni pas via apt-get un kernel avec le support highmem activé, sinon oui il faudra recompiler. Mais tu peux recompiler le kernel sur un autre machine afin de minimiser le downtime.  :)

Reply

Marsh Posté le 10-08-2005 à 16:48:16    

tu peux compiler en nice 19
et doit y avoir des kernels binaires highmem

Reply

Marsh Posté le 10-08-2005 à 16:49:06    

Nzh0 a écrit :

il faut donc recompiler? je sais pas si ça va etre possible, car l'interruption doit durer peut de temps...


Il me semble que tu peux utiliser un autre ordinateur pour compiler le noyau avec make-kpkg et faire ainsi un .deb que tu installes sur ta machine.
 
limax

Reply

Marsh Posté le 10-08-2005 à 16:49:38    

Il faut effectivement recompiler le kernel, mais tu as juste à rebooter une fois ( si ton kernel marche du premer coup... )
 
L'option, c'est CONFIG_NOHIGHMEM ou un truc du genre...
 
et après il faut passer à grub ou à lilo la quantité de memoire si je me souvient bien :
lilo: (/etc/lilo.conf)
append="mem=xxxxM"
 
Grub : (/etc/grub.conf)
kernel /boot/menkernel mem=xxxxM

Reply

Marsh Posté le 10-08-2005 à 16:59:00    

On vient de me dire que le kernel Debian à par défaut le support highmem, il faut peut-être spécifier au bootloader comme expliqué par bibiskuk.

Reply

Marsh Posté le 10-08-2005 à 17:23:47    

ok merci a tous :)

Reply

Marsh Posté le 11-08-2005 à 11:04:17    

Nzh0 a écrit :

il faut donc recompiler? je sais pas si ça va etre possible, car l'interruption doit durer peut de temps...

Sûrement pas. Tu installes kernel-image-2.6-686, qui a le support highmem activé, et puis voilà.

Reply

Marsh Posté le 11-08-2005 à 11:04:17   

Reply

Marsh Posté le 11-08-2005 à 13:00:49    

Jar Jar a écrit :

Sûrement pas. Tu installes kernel-image-2.6-686, qui a le support highmem activé, et puis voilà.


 
Hum. Grillaid par alien conspiracy d'à peu près 18h?


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 11-08-2005 à 13:40:06    

C'est vrai que le super hihgmen ralenti un peu la machine ?


---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
Reply

Marsh Posté le 11-08-2005 à 15:02:48    

non.
 
normalement CONFIG_HIGMEM est activé dans debian ... prends un noyau debian plus récent on sait jamais ...

Reply

Marsh Posté le 30-08-2005 à 14:11:04    

Taz a écrit :

normalement CONFIG_HIGMEM est activé dans debian

Pas dans le noyau par défaut (-386).

Reply

Marsh Posté le 30-08-2005 à 16:28:01    

ben alors il suffit de le demander

Reply

Marsh Posté le 31-08-2005 à 23:43:45    

question, je veux passer de 512 à 1go de ram, dois-je recompiler le noyau ou fait une manip spéciale?
 
Merci ++

Reply

Marsh Posté le 01-09-2005 à 00:07:57    

bah si tu veux TOUT utiliser oui et si ce n'est déjà fait, il faut activer CONFIG_HIGMEM. Sinon rien, tu aura 896Mio de ram dispo

Reply

Marsh Posté le 01-09-2005 à 11:15:02    

noritaka a écrit :

question, je veux passer de 512 à 1go de ram, dois-je recompiler le noyau ou fait une manip spéciale?

Non, PAS DE RECOMPILATION. Il suffit d'installer kernel-image-2.6-686, pour lequel l'option highmem est activée.

Reply

Marsh Posté le 01-09-2005 à 11:29:04    

ou kernel-image-2.6-k7 si tu as de l'amd.


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 04-09-2005 à 22:11:46    

les kernels -smp ont l'highmem active.

Reply

Marsh Posté le 22-09-2005 à 15:07:09    

J'ai eu le même problème, 4 Go de RAM, seulement 900 Mo de détectés... Seulement voilà, avec Ubuntu et Mandriva, avec le support highmem, je n'ai que 3 Go de RAM reconnus, pourtant la 4è barrette apparait bien dans le BIOS...
 
Linux serait-il limité à 3 Go ? Si non, comment faire pour qu'il trouve ma 4è barrette ?
 
Merki :hello:

Reply

Marsh Posté le 22-09-2005 à 16:47:18    

Le support highmem consiste en fait à choisir entre trois plafonds : 1 Go, 4 Go et 64 Go. Sachant qu'en 32 bits, inutile d'espérer dépasser 2 à 3 Go pour un processus.

Reply

Marsh Posté le 23-09-2005 à 09:31:04    

Jar Jar a écrit :

Le support highmem consiste en fait à choisir entre trois plafonds : 1 Go, 4 Go et 64 Go. Sachant qu'en 32 bits, inutile d'espérer dépasser 2 à 3 Go pour un processus.


 
OK, mais là le plafond il semble être à 3 Go. Comment on peut le passer à 4 Go ?
Merci pour ces infos, mais je pense qu'une base de donnée peut prendre autant de mémoire qu'elle veut non ? Elle charge toute les données en mémoire tant qu'il en reste...
 :hello:

Reply

Marsh Posté le 23-09-2005 à 10:26:56    

avec une machine 64bits.

Reply

Marsh Posté le 23-09-2005 à 10:40:52    

Sans déconner ! Un linux 32 bits ne permet pas de gérer 4 Go de RAM ?
Pourtant 2^32 ça fait justement 4 Go...
 
Tous les autres OS gère 4 Go en 32 bits non ? Sinon vendre des machines 32 bits avec 4 Go ça sert à rien. Pourquoi ont-ils décider de pas gérer plus de 3 Go ?
 
Windows XP -> 4 Go
Windows Server 2003 -> 32 Go
 
EDIT : Après enquête, Linux peut très bien gérer 4 Go en 32 bits, mais je n'ai toujours pas trouvé comment faire pour qu'il prenne la 4è barette... :(

Message cité 1 fois
Message édité par Predicator le 23-09-2005 à 10:52:59
Reply

Marsh Posté le 23-09-2005 à 11:01:12    

Predicator a écrit :

Sans déconner ! Un linux 32 bits ne permet pas de gérer 4 Go de RAM ?
Pourtant 2^32 ça fait justement 4 Go...
 
Tous les autres OS gère 4 Go en 32 bits non ? Sinon vendre des machines 32 bits avec 4 Go ça sert à rien. Pourquoi ont-ils décider de pas gérer plus de 3 Go ?
 
Windows XP -> 4 Go
Windows Server 2003 -> 32 Go
 
EDIT : Après enquête, Linux peut très bien gérer 4 Go en 32 bits, mais je n'ai toujours pas trouvé comment faire pour qu'il prenne la 4è barette... :(


Si tu veux gérer 4 Go ou plus il te suffit de passer l'option HIGH_MEM du noyau au plafond supérieur, donc à 64 Go.
 
Sinon, à part qu'on est vendredi, les chiffres que tu donnes pour Windows XP et Windows Server 2003 sont là pour faire joli sur le papier :o  Tu peux effectivement mettre 32 Go en barrette de RAM dans ton serveur, mais de là à ce qu'elles soient exploitées... c'est de la théorie (et encore c'est mensonger de faire croîre cela), puisque c'est purement une limitation technique au niveau de l'architecture 32 bits, pour des segments supérieur il faut utiliser du 64 bits (pose-toi la question : pourquoi les gros serveurs utilisaient/utilisent principalement du 64 bits RISC ou de l'Itanium ?)


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
Reply

Marsh Posté le 23-09-2005 à 11:08:13    

Je sais que supporter plus de 4 Go en 32 bits c'est du bricolage, mais ne pas supporter 4 Go en 32 bits (alors que c'est l'espace adressable justement), je ne comprend pas. Il faut passer à 64 Go (mais là, tout comme Windows Server 2003 c'est du bricolage) alors qu'il devrait le gérer correctement.
 
En gros, en plus d'une solution, je veux bien une rapide explication du pourquoi le 32 bits n'est pas complètement adressable... :hello:  
 
Et puis d'après ce que j'ai vu (j'avais déjà trouvé cette solution), les performance se dégradent pas mal quand on passe à 64 Go sans une machine 64 bits...


Message édité par Predicator le 23-09-2005 à 11:09:25
Reply

Marsh Posté le 23-09-2005 à 11:51:58    

le support de l'OS c'est une chose, le matos c'est autre chose. et le matos diffère souvent (en intel 32bits je parle)

Reply

Marsh Posté le 23-09-2005 à 11:55:25    

ça n'explique rien ta phrase. le matos gère les 4 Go, et un OS 32 bits est censé pouvoir adresser 4 Go, hors Linux n'adresse que 3 Go, et aucune explication n'est fournie [:spamafote]


Message édité par Predicator le 23-09-2005 à 11:55:57
Reply

Marsh Posté le 23-09-2005 à 12:00:04    

tu le vois comment que tu n'as que 3 go de pris en compte sur 4 ? J'ai un tas de machines avec 4 Go de ram et un cat /proc/meminfo renvoie bien MemTotal:      4025104 kB


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 23-09-2005 à 12:06:44    

avec la commande "free", il ne marque que 3 Go au total

Reply

Marsh Posté le 23-09-2005 à 12:10:54    

free -m
             total       used       free     shared    buffers     cached
Mem:          3930       3271        659          0         71       1338
-/+ buffers/cache:       1861       2069
Swap:         8198        326       7872
 
Bizarre ton problème. En tout cas, c'est certain que les machine 32 bits peuvent utiliser 4Go. J'en ai meme 2 qui ont 8 go et aucun probleme
 
La commande suivante dmesg | grep MEM te renvoie quoi ?
 
Perso j'ai ça
dmesg | grep MEM
3200MB HIGHMEM available.
896MB LOWMEM available.


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 23-09-2005 à 12:20:48    

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3041        224       2817          0          8        103
-/+ buffers/cache:        112       2929
Swap:         1592          0       1592
$ dmesg | grep MEM
2174MB HIGHMEM available.
896MB LOWMEM available.

Reply

Marsh Posté le 23-09-2005 à 12:30:17    

et le bios il voit combien ?
 
t'es sur que t'as pas passé de mem= ?

Reply

Marsh Posté le 23-09-2005 à 12:47:55    

Taz a écrit :

et le bios il voit combien ?


 
Il voit 4 Go
 

Taz a écrit :

t'es sur que t'as pas passé de mem= ?


 
?

Reply

Marsh Posté le 23-09-2005 à 13:13:14    

cat /proc/cmdline

Reply

Marsh Posté le 23-09-2005 à 13:15:41    

Code :
  1. BOOT_IMAGE=linux ro root=**** acpi=ht resume=/dev/sda5 splash=silent


 
pas de mem=...

Reply

Marsh Posté le 23-09-2005 à 13:48:05    

Le mode PAE (Physical Address Extension) d'Intel permet d'adresser la mémoire sur 36 bits.
 
Quelques liens :
- Windows : http://www.michna.com/kb/WxMoreThan2GB.htm
- Linux : http://www.spack.org/wiki/LinuxRamLimits

Reply

Marsh Posté le 23-09-2005 à 14:48:30    

Merci pour ces liens.
D'après ce que j'ai compris, le kernel bouffe 1 Go sur les 4 pour tourner, et un soft peut au maximum 3 Go...
Bref ça m'arrange pas du tout, il faut recompiler le noyau pour modifier ça...
Je crois que je vais simplement virer une barette et la mettre sur une autre machine. Tant pis...

Reply

Marsh Posté le 23-09-2005 à 18:36:34    

l'adressage 3/1 est fait à bon essient mais ne concerne que l'espace d'un processus. Si tu as besoin de plus par processus sur un proc 32bits, et bien ce n'est pas possible. Le plus raisonnable est de découpé ton programme en plusieurs processus (beaucoup de logiciels font sela exprès).
 
Y a un blème, peut-être matériel sur ta RAM, peut-être logiciel. Il faut di HIMEM pour pouvoir utiliser plus de 896Mo de RAM. Le problème reste donc entier dans ton cas.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed