Comment augmenter la taille du tas Java par programmation
J'ai un java application de bureau pour la recherche de fichiers et il est généralement atteindre le segment par défaut limite assez vite. Je ne vais pas avoir accès à tous les systèmes, il sera installé dans la je veux augmenter la taille de segment JVM dans l'application elle-même. Quelqu'un peut-il m'aider à comment puis-je le faire par programmation dans mon application
source d'informationauteur hrl
Vous devez vous connecter pour publier un commentaire.
Paramètre -Xmx à un concert ne signifie pas que la JVM va allouer beaucoup de mémoire au démarrage. La JVM va allouer seulement -Xms (plus frais généraux) jusqu'à ce que des tas d'espace est nécessaire. Avez-vous besoin de protéger vos utilisateurs de surcharge de la mémoire virtuelle ou un échec d'allocation de mémoire à partir de l'OS? Si non, il suffit de définir Xmx d'une grande valeur. Notez que sous Windows 32 bits Jvm souvent ignorer Xmx paramètres supérieure à 1,2 Concert, il est donc préférable de ne pas demander de plus qu'un concert, ou alors pour être sûr.
Il n'y a pas une telle API standard pour le faire.
Je vous suggère d'utiliser Java Web Start pour appeler votre application (peut être utilisé pour des applications locales dans la dernière Sun Java 6), car il vous permet de spécifier les valeurs de cette.
Vous pouvez alors trois ou quatre liens chacun qui indique exactement les mêmes fichiers mais avec un "Petit", "Moyen", "Grand", "Gigantesque" tailles de tas.
Voir ce post sur l'augmentation de java heap size :
augmenter la java taille du segment de mémoire de façon permanente?
Peut-être aussi vous avez pu nettoyer une partie de votre code afin de réduire l'utilisation de la mémoire.
En Ce Qui Concerne Meilleur
Prendre un coup d'oeil à quelque chose comme launch4j et d'envisager le déploiement de exécutables où vous pouvez contrôler la limite, quand quelqu'un commence à l'exécution de votre application.
Vous ne serez pas en mesure de le faire par programmation.
Pour les applications de bureau, je vous suggère de fournir un lanceur d'applications qui peut ensuite spécifier la taille de la mémoire. En plus de la configuration de votre JVM, vous pouvez également fournir une icône, les associations de fichiers, etc.
Voir ce DONC, la question pour le déploiement des solutions de rechange.