GNU/Linux >> Tutoriels Linux >  >> Linux

La machine virtuelle avec le système d'exploitation CentOS 5 32 bits n'adresse pas plus de 3 Go de mémoire physique

Récemment, nous avons rencontré un problème très étrange dans lequel une machine virtuelle Linux avec Système d'exploitation Centos 5.X 32 bits ne pouvait pas reconnaître plus de 3 Go de RAM. Après quelques recherches, nous avons pu trouver les faits suivants.


Par défaut, le système d'exploitation Centos 5.5 32 bits est fourni avec Linux 2.4.x Noyau prenant en charge plus de 4 Go de mémoire physique. Un noyau Linux 32 bits typique utilise 1 Go de mémoire physique pour son propre usage en tant qu'espace noyau et le reste de la mémoire physique sera utilisé comme espace utilisateur . Par conséquent, lorsque vous êtes sur une machine avec système d'exploitation Centos 5.X 32 bits sans prise en charge PAE, la répartition de l'espace utilisateur et de l'espace noyau serait de l'ordre de 3 Go/1 Go. Cela signifie que si vous ajoutez plus de 3 Go de mémoire physique à votre machine, celle-ci ne s'en occupera pas. Ce problème peut être résolu en ajoutant la prise en charge PAE dans le noyau.

Qu'est-ce que l'extension d'adresse physique (PAE) ?

Extension d'adresse physique (PAE) également connu sous le nom d'extension d'adresse de page , est une fonctionnalité de gestion de la mémoire pour l'architecture IE-32 (i386) introduite avec les processeurs Pentium Pro. L'extension d'adresse de page définit une hiérarchie de table de page à trois niveaux avec des entrées de table de 64 bits au lieu de 32. Cela permet aux CPU avec PAE d'accéder à un espace d'adressage physique supérieur à 4 Go. L'extension PAE autorise un maximum de 64 Go de mémoire physique que le CPU (pas un processus) peut adresser. Bien que PAE ne soit pas compilé dans le noyau, le système d'exploitation peut adresser un maximum de 4 Go de RAM. Si vous êtes dans une situation similaire et que vous souhaitez obtenir le support Kernel avec PAE. Exécutez la commande suivante depuis le terminal.

yum install kernel-PAE


Une fois le noyau installé, modifiez grub.conf fichier (généralement situé dans /etc/grub.conf ou /boot/grub/grub.conf ) avec un éditeur de votre choix. Localisez le paramètre timeout et réglez-le sur 10 secondes ou plus, afin que vous ayez plus de temps pour sélectionner le noyau dans la liste. Enregistrer grub.conf fichier et redémarrez votre VPS.

Lorsque votre machine virtuelle démarre après le redémarrage, vous obtenez une liste des noyaux actuellement installés sur votre machine. Sélectionnez le noyau que vous souhaitez charger (noyau avec support PAE). Si votre machine virtuelle démarre avec succès avec le noyau pris en charge par PAE, définissez le nouveau noyau par défaut comme suit.

Modifiez à nouveau grub.conf fichier (il ressemblerait à ce qui suit), sous titre paramètre, vous verriez la liste de tous les noyaux installés. Comptez la position du noyau de votre choix et définissez sa valeur dans le paramètre par défaut . Enregistrez le grub.conf fichier et redémarrez votre VM

default=3  // default holds the value of position of Kernel
timeout=10  
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux ES (2.4.21-37.EL) // Kernel in 1st position 
root (hd0,0)
kernel /vmlinuz-2.4.21-37.EL ro root=/dev/hda3
initrd /initrd-2.4.21-37.EL.img
title Red Hat Enterprise Linux ES (2.4.21-32.0.1.EL) // Kernel in 2nd position 
root (hd0,0)
kernel /vmlinuz-2.4.21-32.0.1.EL ro root=/dev/hda3
initrd /initrd-2.4.21-32.0.1.EL.img
title Red Hat Enterprise Linux ES (2.4.21-27.0.4.EL) // Kernel in 3rd position 
root (hd0,0)
kernel /vmlinuz-2.4.21-27.0.4.EL ro root=/dev/hda3
initrd /initrd-2.4.21-27.0.4.EL.img
title Red Hat Enterprise Linux ES (2.4.21-27.0.2.EL) // Kernel in 4th position 
root (hd0,0)
kernel /vmlinuz-2.4.21-27.0.2.EL ro root=/dev/hda3
initrd /initrd-2.4.21-27.0.2.EL.img


Une fois que votre machine virtuelle démarre après le redémarrage, lancez free -m commande pour vérifier si elle adresse la mémoire physique de plus de 3 Go ou non.


Linux
  1. Linux - Pourquoi Linux affiche-t-il à la fois plus et moins de mémoire que ce que j'ai physiquement installé?

  2. Linux - Qu'implique la disposition de la mémoire du noyau virtuel dans Dmesg ?

  3. CentOS / RHEL :Exclusion avec Yum pour les mises à jour du noyau

  4. qemu ne se lance pas :serveur vnc démarré

  5. malloc renvoie de la mémoire ou de l'espace d'adressage virtuel

Comprendre la prise en charge des adresses virtuelles 52 bits dans le noyau Arm64

Comment accéder à la machine virtuelle Proxmox avec le client SPICE

Comment trouver l'adresse IP d'une machine virtuelle KVM

Puis-je créer une machine virtuelle à partir d'une machine physique Windows XP ?

Comment le CPU sait-il quelle adresse physique est mappée à quelle adresse virtuelle ?

Centos Linux avec horodatage dmesg