2009-04-01 8 views
15

J'ai un problème avec netbeans et Java. Mon programme doit être capable de gérer de gros fichiers téléchargés via un arraylist. J'ai donc utilisé -Xmx512m pour augmenter la taille maximale du tas via le fichier netbeans.conf.Java tas d'espace dans netbeans .. mais j'ai déjà augmenté la taille du tas!

Je sais que netbeans est en train d'intercepter la modification, et j'ai redémarré plusieurs fois pour m'assurer que c'est le cas. Encore, mon programme continue à planter avec une erreur de mémoire d'espace de tas de Java quand le paramètre total de mémoire est seulement 66650112 octets; c'est-à-dire 64M-ish.

Comment puis-je forcer cette classe, procédure particulière, quelle qu'elle soit, pour permettre plus d'allocation de mémoire?

Répondre

22

Je pense que vous venez de configurer la taille maximale du tas de NetBeans IDE lui-même et non votre programme.

Accédez à votre projet "propriétés", sélectionnez "Exécuter" catégorie. Dans la zone de texte "VM Options" mettez vos arguments (-Xmx512m).

+0

Cela semble uniquement définir jvm lors de l'exécution du programme, par opposition au débogage d'une classe spécifique. Est-il possible de définir les options jvm en mode débogage? – Colin

+0

J'ai également rencontré une exception d'espace hors tas, mais j'utilise Eclipse. Ce post m'a aidé à le comprendre, mais voici un ensemble d'instructions plus détaillées pour Eclipse: Je suis allé à "** Properties **" => "** Run/DebugSettings **". J'ai ensuite modifié la configuration de lancement de l'application, cliqué sur l'onglet "** Arguments **" et ajouté "-Xmx512m" dans la zone de texte "** VM arguments **". – Chiubaka

1

Je crois que l'édition de netbeans.conf ne modifie que le maximum que la JVM qui exécute l'EDI peut utiliser. Vous devrez modifier la configuration du projet pour votre programme (car il fonctionne probablement dans une machine virtuelle Java différente).

+0

C'est super, merci! –

1

Découvrez l'aide de NetBeans pour définir les propriétés du projet et en particulier les propriétés d'exécution d'un projet.

options VM est où vous devez ajouter le -Xmx512m

2

essayer sur Outils ->Serveurs -> sur la plate-forme onglet il y a une option VM ci-dessous plate-forme Java.

0

VM options est l'endroit où vous devez ajouter le -Xmx512m .....

ainsi que -Xms512m

depuis:

-Xms512m -> Taille initiale tas Java -Xmx512m -> max Java taille du tas

vous donc ajouter, dans votre cas: -Xmx512m -Xms512

dans la machine virtuelle o ptions textfield ....

+0

Quelle est la différence entre la définition de la taille du tas dans les options de la machine virtuelle dans netbeans et la définition de la taille du tas du paramètre JVM sur la console d'administration Glassfish? – Nav

0

Goto fenêtre Propriétés du projet. définir l'option du compilateur supplémentaire dans Build> onglet Compilation à -Xmx512m

Questions connexes