java tomcat tomcat7 jira jira-rest-java-api

java - PermGen error de espacio al implementar Tomcat 7?



tomcat7 jira (3)

Esta pregunta ya tiene una respuesta aquí:

Instalé Tomcat 7 para actualizar mi versión de proyecto JIRA de 5.0 a 6. Después de colocar la carpeta del proyecto en las aplicaciones web de Tomcat. Ejecuto este localhost: 8080 / jira después de mucho tiempo de ejecución, arroja un mensaje de error. Por favor ayúdenos a solucionar este problema gracias de antemano

java.lang.RuntimeException: PermGen space at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:66) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:32) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:60) at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:160) at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:79) at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:84) at com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:768) at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:200) at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:63) at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:635) at com.atlassian.jira.ComponentManager.startJIRA(ComponentManager.java:214) at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:208) at com.atlassian.jira.ComponentManager.start(ComponentManager.java:193) at com.atlassian.jira.upgrade.PluginSystemLauncher.start(PluginSystemLauncher.java:23) at com.atlassian.jira.startup.DefaultJiraLauncher$3.run(DefaultJiraLauncher.java:107) at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:323) at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseActivated(DatabaseConfigurationManagerImpl.java:211) at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:100) at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:27) at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:66) at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:33) at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:61) at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:54) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657) at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1637) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.OutOfMemoryError: PermGen space


A veces, después de las implementaciones, el recolector de basura no puede destruir algunos objetos en Tomcat y quedarse sin espacio. Hay muchas razones para estos casos:

  • Si usa algunos objetos CRUD, verifique si hay todos cerrados después de usarlos.
  • Si su aplicación usó otras bibliotecas, a veces los Objetos de estas bibliotecas tampoco se pueden destruir, como MysqlConnector, Hibernate / C3p0 u otros, intente colocar estas bibliotecas en la carpeta tomcat / lib

Verifique el Tomcat con el "Java VisualVM" y verifique el permGen después de la implementación.
El valor predeterminado para el espacio permGen también suele ser muy bajo, puede aumentarlos con el siguiente parámetro javaVM

-XX:PermSize=64M -XX:MaxPermSize=256m

Puedes seguir estos tutoriales.

http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/

ACTUALIZAR

otra solución tal vez encontrada aquí: qué hacer con el espacio PermGen de Tomcat

agregar -XX: + CMSClassUnloadingEnabled -XX: + UseConcMarkSweepGC a las opciones de javaVM


Modifique el valor del permgen usando -XX:PermSize={value} y -XX:MaxPermSize={value} través de la variable JAVA_OPTS, donde ''value'' es una cadena como 256m.


Una solución más útil es aumentar los valores en la variable JAVA_OPTS.
Agregue la siguiente línea a su archivo Catalina.bat/Catalina.sh en el directorio bin

Para Windows (Catalina.bat)

set JAVA_OPTS="-Xms1024m -Xmx10246m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"

Para Unix (Catalina.sh)

export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"

Más soluciones que puedes encontrar en este article