Disons que nous avons une machine OS X fonctionnant avec 4 Go de RAM. Est-il possible de le configurer de sorte qu'aucun processus ne puisse prendre plus de 3 Go, donc peu importe la façon dont la mémoire occupe un processus, il reste toujours de la mémoire pour que le système réponde?
12
Réponses:
Une question similaire à celle-ci est notée ici Comment puis-je limiter la quantité de RAM qu'une application Mac OS peut utiliser?
Ils recommandent d'utiliser la commande ulimit , mais ils n'ont pas réussi à limiter le montant à ce qu'ils voulaient. Je pense que le problème qu'ils ont rencontré était le fait que l'option définie -u ou -v ne tenait pas compte du système de pagination de la mémoire, par exemple, vous ne pouvez allouer que X quantité d'espace pour votre processus dans de la RAM réelle, mais nous pouvons paginer vous à la mémoire virtuelle toute la journée.
Notez que cela peut être dangereux de désactiver la mémoire virtuelle, cela pourrait entraîner le blocage de votre Mac, etc. lorsqu'il court de RAM.
Essayez d'exécuter ulimit avec les arguments -l, -m ou -v, cependant, comme indiqué dans la page de manuel ulimit, placez-le sur le système d'exploitation s'il prêtera attention à ces paramètres ou non comme indiqué.
Impossible de trouver une source précise qui confirme si OS X ignore ou non ulimit, mais après l'échec de l'ulimit référencé
Si vous pouvez faire en sorte qu'ulimit réponde à vos besoins, essayez-le, sinon une combinaison d'ulimit et / ou de désactivation de la mémoire virtuelle peut vous permettre de configurer cette limite de 3 Go sur certains processus. Pour info, voici un bon lien pour plus d'informations sur la désactivation complète de la mémoire virtuelle dans Snow Leopard System 10.6
la source
Si vous exécutez Lion (ou un OSX plus récent) sur votre Mac, vous pourrez peut-être exécuter OSX dans une VM (VirtualBox, Parallels ou VMWare, et.al.) sur ce Mac. Limitez la machine virtuelle à 3 Go de RAM physique, et toute application ou processus à l'intérieur de la machine virtuelle sera également limité. Le système hébergeant la machine virtuelle doit rester réactif même si le système d'exploitation de la machine virtuelle est limité par le disque d'échange de sauvegarde ou tombe en panne.
Si vous déboguez un processus potentiellement incontrôlable, vous pourrez peut-être accéder à la machine virtuelle pour exécuter le débogueur ou un nœud de débogage à partir de la ligne de commande et vous connecter jusqu'à ce que les choses se bloquent.
la source