Je sais que je suis censé définir mem=MEMORY_LIMIT
. Mais je ne sais pas où aller, au moment de l'exécution ou au moment du démarrage, pour définir une limite à la mémoire physique totale contrôlée par le système d'exploitation.
J'exécute des tests de performances d'E/S et j'aimerais limiter la quantité de mémoire physique globale disponible.
J'ai trouvé la réponse que je cherchais. Fondamentalement, le paramètre qui définit la mémoire physique totale disponible est "mem = MEMORY_LIMIT". Et ceci est un paramètre de démarrage du noyau. Vous devez ajouter, par exemple, "mem = 1G" pour un maximum de 1 Go de mémoire physique disponible au paramètre de démarrage du noyau. Pour plus d'informations sur l'ajout de paramètres de démarrage du noyau, consultez https://wiki.ubuntu.com/Kernel/KernelBootParameters
Modifiez les paramètres de démarrage de votre noyau dans lilo.conf
, grub.conf
, grub.cfg
et menu.lst
(lesquels dépendent de votre distribution et de votre chargeur de démarrage particuliers; consultez la documentation de votre distribution pour plus de détails) afin d'inclure le paramètre mem=512M
(ou la taille à émuler) sur la ligne en spécifiant vos paramètres de noyau.
Par exemple, dans Grub, il devrait y avoir une ligne qui dit quelque chose comme kernel /boot/vmlinuz param1=val1 param2=val2
. Ajoutez le mem=512M
à cette liste de paramètres. Vous pouvez créer des entrées distinctes pour votre menu de démarrage en copiant ces définitions entières, en les renommant et en les configurant avec une quantité de mémoire différente, afin de pouvoir démarrer rapidement avec des paramètres différents.
Pour ajouter à la liste de Brian Campbell, pour le chargeur de démarrage uBoot sur les périphériques BeagleBone/Black, modifiez les paramètres du noyau dans /boot/uboot/uEnv.txt
Ajouter ou modifier la ligne mmcargs=setenv bootargs mem=512M
[testée avec Debian]
Utilisez > free
avant et après le [redémarrage] pour confirmer la modification.
J'ai suivi les instructions de cette page que KZcoding a mentionnées (partie: Ajout permanent d'un paramètre de démarrage du noyau)
Mon Linux est (vm dans virtualbox):
Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Avant de régler:
yavuz@ubuntu:~$ free -m
total used free shared buff/cache available
Mem: 3630 305 3010 6 314 3264
Swap: 3767 0 3767
Je viens de changer cette ligne dans /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=""
à
GRUB_CMDLINE_LINUX_DEFAULT="mem=2G"
puis redémarrez le serveur. Après le redémarrage:
yavuz@ubuntu:~$ free -m
total used free shared buff/cache available
Mem: 2000 298 1385 4 315 1651
Swap: 3767 0 3767
A1: Oui, vous devez redémarrer.
A2: Le noyau est plutôt impitoyable en ce qui concerne les fautes de frappe. Il n'y a pas de message d'erreur. Cela pourrait-il être votre problème? Exemples: "mem = 512M" et "mem = 2G". N'oubliez pas l'espace après le paramètre précédent, mem est en minuscule et K, M ou G sont en majuscule.