Debian limité a 1go de ram?? - Hardware - Linux et OS Alternatifs
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é.
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...
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.
Marsh Posté le 10-08-2005 à 16:48:16
tu peux compiler en nice 19
et doit y avoir des kernels binaires highmem
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
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
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.
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à.
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?
Marsh Posté le 11-08-2005 à 13:40:06
C'est vrai que le super hihgmen ralenti un peu la machine ?
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 ...
Marsh Posté le 30-08-2005 à 14:11:04
ReplyMarsh 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 ++
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
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.
Marsh Posté le 01-09-2005 à 11:29:04
ou kernel-image-2.6-k7 si tu as de l'amd.
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
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.
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...
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...
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 ? |
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 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 ?)
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...
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...
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)
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
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
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.
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.
Marsh Posté le 23-09-2005 à 12:30:17
ReplyMarsh 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= ? |
?
Marsh Posté le 23-09-2005 à 13:15:41
Code :
|
pas de mem=...
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
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...
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.
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?