java.lang.OutOfMemoryError: Java heap space avec NetBeans
C'est l'erreur que j'obtiens lorsque je lance mon application web dans une instance de la servlet Tomcat conteneur commencé par NetBeans. Pour corriger cela, j'ai même changé la taille de segment de mémoire dans netbeans.conf, mais encore il montre la même erreur. Comment puis-je éviter cela?
D'État HTTP 500 - -------------------------------------------------------------------------------- type de rapport d'Exception message description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête. exception javax.servlet.ServletException: Servlet exécution généré une exception org.netbeans.les modules.web.moniteur.serveur.MonitorFilter.doFilter(MonitorFilter.java:362) cause java.lang.OutOfMemoryError: Java heap space remarque Le plein de trace de pile de la cause racine est disponible dans Apache Tomcat/5.5.9 journaux.
stackoverflow.com/questions/705605/...
stackoverflow.com/questions/673646/...
le plus juste réponse à cette question est en fait stackoverflow.com/questions/717550/.... Le très upvoted réponse est une bonne réponse pour une question différente.
stackoverflow.com/questions/673646/...
le plus juste réponse à cette question est en fait stackoverflow.com/questions/717550/.... Le très upvoted réponse est une bonne réponse pour une question différente.
OriginalL'auteur | 2009-04-04
Vous devez vous connecter pour publier un commentaire.
La modification de la taille de segment de mémoire dans netbeans.conf ne change que le tas pour NetBeans lui-même, pas pour les applications s'exécutent par NetBeans.
La bonne façon est de faire un clic droit sur le projet et sélectionnez "Propriétés" puis "Exécuter"; là, vous pouvez configurer la machine virtuelle correctement les options (
-Xmx256m
, par exemple). Il devrait ressembler à quelque chose comme ceci:(Merci à VonC pour trouver cette image.)
"J'ai toujours inclure une image": comme vous l'avez remarqué ces derniers temps: stackoverflow.com/questions/707194#707206 (dans les commentaires)
Comment faites vous pour trouver des images, si? J'ai essayé de trouver une capture d'écran et je ne pouvais pas.
Je ne pense pas que cela s'applique à la Servlet Projets... de bureau de projets.
Merci, fixe.
OriginalL'auteur
Arrêter Tomcat server, définissez la variable d'environnement CATALINA_OPTS, puis redémarrez Tomcat. Regardez le fichier
tomcat-install/bin/catalina.sh
oucatalina.bat
pour savoir comment cette variable est utilisée. Par exemple,Dans
catalina.bat
oucatallina.sh
, vous avez peut-être remarqué CATALINA_OPTS, JAVA_OPTS, ou les deux peuvent être utilisés pour spécifier Tomcat options JVM.Quelle est la différence entre CATALINA_OPTS et JAVA_OPTS?
Le nom CATALINA_OPTS est spécifique pour le conteneur de servlet Tomcat, alors que JAVA_OPTS peut être utilisé par d'autres applications java (par exemple, JBoss). Puisque les variables d'environnement sont partagées par toutes les applications, nous ne voulons pas de Tomcat, par inadvertance, ramasser les options de la JVM pour d'autres applications. Je préfère utiliser CATALINA_OPTS.
Comment mettre en java taille de segment de mémoire dans JBoss?
Arrêter JBoss server, modifiez $JBOSS_HOME/bin/run.conf, puis redémarrez le serveur JBoss. Vous pouvez modifier la ligne avec JAVA_OPTS à quelque chose comme:
Comment mettre en java taille de segment de mémoire dans Eclipse?
Vous avez 2 options:
Modifier eclipse-maison/eclipse.ini pour être quelque chose comme ce qui suit et
redémarrer Eclipse.
-vmargs-Xms64m-Xmx256m
Ou, vous pouvez juste lancer eclipse de commande avec des options supplémentaires à la
très fin. Rien après -vmargs seront traités comme des options JVM et
passé directement à la JVM. Options JVM spécifié dans la commande
la ligne de cette façon y aura toujours la priorité sur celles dans eclipse.ini. Pour
exemple,
eclipse -vmargs -Xms64m -Xmx256m
Comment mettre en java taille de segment de mémoire dans NetBeans?
Sortie de NetBeans, éditer le fichier netbeans-installer/etc/netbeans.conf. Par exemple,
Comment mettre en java taille de segment de mémoire dans Apache Ant?
Définissez la variable d'environnement ANT_OPTS. Regardez le fichier
$ANT_HOME/bin/ant
ou%ANT_HOME%\bin\ant.bat
, pour savoir comment cette variable est utilisée par la Fourmi d'exécution.OriginalL'auteur
Si vous augmenter la mémoire virtuelle de votre serveur Tomcat, puis il sera OK.
Suit:
-Xms512m
VM champ des optionsOriginalL'auteur
Je suppose que l'augmentation de la mémoire n'est pas de résoudre le problème. Qu'est ce que MonitorFilter faire? Quoi de manger tout ce que la mémoire?
Votre meilleur pari est de comprendre. Si c'est une application web, voir si vous pouvez désactiver ce filtre et fonctionner sans elle. Si vous avez du succès, vous savez que le MonitorFilter est la cause de votre échec.
+1 OP doit aussi certainement de l'examen que de classe pour un excès de création d'objet, etc.
pour vous, car il arrive à nous tous. 8)
OriginalL'auteur
Cela n'a rien à voir avec NetBeans (bien, peut-être), elle a plutôt à voir avec Tomcat. Tomcat est le processus qui est en cours d'exécution hors du tas, pas de NetBeans. Traquer le processus de démarrage de votre serveur Tomcat. Si il est livré avec NB, puis Tomcat est enterré dans le NB d'installation, vérifier la présence d'une "enterpriseN" directory, N étant un nombre, Tomcat est probablement là et c'est plutôt générique de distribution.
Pourquoi le moniteur est exécuté OOM, c'est dur à dire, c'est un processus assez simple, quand vous pensez à ce sujet. Vous pouvez également essayer de désactiver HTTP surveillance pour voir si c'est un problème avec le contrôle de lui-même ou quelque chose avec votre application.
OriginalL'auteur