Cher tous, J'utilise Redhat linux, Comment régler la mémoire maximale pour un processus particulier. Par exemple, je dois allouer une utilisation maximale de la mémoire à Eclipse seul. Est-il possible d'allouer comme ceci. Donne-moi quelques solutions.Allocation de mémoire pour le processus dans Linux
Répondre
Vous ne pouvez pas contrôler l'utilisation de la mémoire; vous ne pouvez contrôler que la taille de la mémoire virtuelle, et non la quantité de mémoire réellement utilisée, car cela est extrêmement compliqué (voire impossible) à connaître pour un seul processus sur un système d'exploitation prenant en charge la mémoire virtuelle.
Toute la mémoire utilisée n'apparaît pas dans l'espace d'adressage virtuel du processus à un instant donné, par exemple l'utilisation du noyau et la mise en cache du disque. Un processus peut changer les pages qu'il a mappées aussi souvent qu'il le souhaite (par exemple via mmap()). Une partie de l'espace adresse d'un processus est également mappée, mais n'est pas réellement utilisée, ou est partagée avec un ou plusieurs autres processus. Cela rend la mesure de l'utilisation de la mémoire par processus un objectif pratiquement irréalisable dans la pratique. Et mettre un plafond sur la taille de la VM n'est pas une bonne idée non plus, car cela entraînerait la mort du processus si elle essayait d'en utiliser plus. La bonne façon de procéder dans ce cas (pour un processus Java) consiste à définir la taille maximale du tas (via diverses options de démarrage JVM bien documentées). Cependant, l'expérience suggère que vous ne devez pas le définir à moins de 1Go.
Ya Mark vous avez raison je ne pouvais pas trouvé de solution pour cette tâche.J'ai essayé la solution d'André.Mais cela contrôle la mémoire virtuelle seulement.Alors j'opte votre dernier point pour augmenter la taille de mémoire tas (pour Java) .Merci beaucoup . – Mohan
ulimit -v 102400
eclipse
... donne eclipse 100MiB de mémoire.
Merci, Après avoir donné cette commande dans l'invite, il va allouer 100 Mo à éclipse. Ensuite, comment trouver cette mémoire allouée pour eclipse. – Mohan
- 1. allocation de mémoire dans Xvfb
- 2. allocation mémoire
- 3. Allocation de mémoire Android
- 4. Allocation de mémoire de l'espace utilisateur sous Linux (affinité du contrôleur de mémoire)
- 5. allocation de mémoire dynamique
- 6. allocation dynamique de mémoire
- 7. Allocation de mémoire variable
- 8. argv allocation de mémoire
- 9. allocation de mémoire pour une structure
- 10. Allocation de mémoire avec les routines LE
- 11. allocation de mémoire pour const en C#
- 12. Java - Allocation de mémoire pour les classes
- 13. Allocation dynamique de la mémoire
- 14. Allocation de mémoire d'exécution d'assemblage
- 15. Allocation de mémoire et bouclage
- 16. Allocation de mémoire par thread
- 17. Utiliser ini_set ("memory_limit", ...) sans allocation de mémoire
- 18. Allocation de mémoire de pile
- 19. allocation de mémoire en C
- 20. allocation de mémoire double point
- 21. Allocation de mémoire en Java
- 22. allocation dynamique de la mémoire pour le tableau 3D
- 23. Allocation de mémoire dans l'application iphone
- 24. Allocation de la mémoire Silverlight
- 25. allocation de mémoire dans les dispositifs de petite mémoire
- 26. allocation de mémoire en Java
- 27. structures imbriquées allocation de mémoire
- 28. allocation de mémoire double pointeur
- 29. pile de noyau pour le processus linux
- 30. Allocation de mémoire dynamique dans VB6
Je souhaite définir cette mémoire comme permanente pour un processus particulier. – Mohan