est-il possible de limiter l'utilisation maximale de la mémoire virtuelle de javac? Lors de l'exécution de Java, je peux l'exécuter avec "-XmxAm" (où A est le nombre de mégaoctets libres) pour le limiter. Y a-t-il quelque chose pour javac comme ça? Merci.Javac -Xmx pour limiter l'utilisation de la machine virtuelle
Répondre
Je ne pense pas. Le compilateur aura besoin de construire un arbre de syntaxe complet, etc, pour fonctionner, donc limiter son utilisation de la mémoire ne serait pas la meilleure des idées.
Vous pouvez donner les mêmes options d'exécution à javac (et la plupart des programmes Java avec un propre démarreur natif) en utilisant -J
options. Par convention, toutes ces options sont transmises directement au système d'exécution. Donc, dans votre cas, vous pouvez appeler
javac -J-Xmx5m -J-Xmx4m <source>
pour lancer javac avec très peu de mémoire. Bien sûr, comme l'a dit reseter, son utilisation est limitée de cette façon, car javac peut vraiment avoir besoin d'une quantité de mémoire pour compiler. Sur de très gros projets, vous voudrez peut-être augmenter la mémoire de cette façon.
Pour un shell unix, vous pouvez utiliser la commande ulimit (http://ss64.com/bash/ulimit.html).
bash -c ' ulimit -v 1048576; javac PrettyWoman.java '.
Le -v option
est la limite de la mémoire virtuelle du processus de javac.
Cependant, il nécessite beaucoup de mémoire virtuelle, sinon l'erreur suivante se produit,
« Une erreur est survenue lors de l'initialisation de la machine virtuelle. Impossible de réserver suffisamment d'espace pour le tas d'objets. Impossible de créer la machine virtuelle Java «
Note: méthode java - Thread.sleep ne sera pas compté dans la limite de temps ulimit (temps réel en fonction du temps CPU), donc si vous utilisez ulimit avec un fichier java. , le fichier java peut juste continuer à dormir comme il aime
- 1. Change java -Xmx après la machine virtuelle a déjà commencé
- 2. Automatiser la machine virtuelle
- 3. Comment compiler pour la machine virtuelle Erlang
- 4. Optimisation de machine virtuelle
- 5. Limiter l'espace de mémoire virtuelle pour malloc()
- 6. requête de machine virtuelle?
- 7. Machine virtuelle et aucune machine virtuelle - pile et trace
- 8. Communiquer avec la machine virtuelle
- 9. La machine virtuelle ne peut pas redémarrer. L'état actuel de la machine virtuelle est RoleStateUnknown
- 10. Hadoop sur machine virtuelle
- 11. Endianness de la machine virtuelle de Java
- 12. Micro machine virtuelle Unix?
- 13. Javascript Machine Virtuelle
- 14. Machine virtuelle Globus Toolkit
- 15. Vs machine virtuelle. Middleware
- 16. Exécution de valgrind dans la machine virtuelle
- 17. contrôle de version dans la machine virtuelle
- 18. Échec de la machine virtuelle Java
- 19. Machine virtuelle ou hôte?
- 20. Quelle est la différence entre la machine virtuelle client Java et la machine virtuelle du serveur?
- 21. Machine virtuelle Ruby
- 22. Utilisation d'une machine virtuelle pour apprendre l'assemblage
- 23. Machine virtuelle multicœur pour test mpi ouvert
- 24. Configuration de la machine virtuelle idéale pour Micro Cloud Foundry
- 25. Durée d'exécution de la machine virtuelle intégrable pour ANSI C
- 26. Où est la machine virtuelle dans LLVM?
- 27. Pourquoi la machine virtuelle Java est-elle une machine virtuelle basée sur une pile?
- 28. accès à la machine virtuelle vmware
- 29. Synchroniser la machine virtuelle Java avec System.nanoTime
- 30. synchronisation entre la machine locale et virtuelle