Hasta ahora, he encontrado tres situaciones usando Tomcat: primero, use Eclipse, Configure Tomcat en Eclipse. En segundo lugar, implementa el proyecto directamente en Tomcat. Tercero, instale Tomcat como un servicio de Windows.
En estos tres casos, aparece OutOfMemoryError. Aquí tengo que mencionar que esos artículos irresponsables me lastimaron trágicamente en Internet. Probé todo tipo de formas de configurar la memoria, pero simplemente no funcionó. Los métodos que mencioné a continuación son probados por mí mismo, y no hay problema.
El primer caso:
Como se muestra en la imagen: lo hice con un marco rojo. Entre ellos, XMS y XMX son los parámetros del tamaño inicial del montón y el tamaño máximo del montón de la máquina virtual Java, que es principalmente para resolver las razones causadas por un espacio de montón Java insuficiente. XX: Permsize y XX: MaxPermizize son parámetros que aumentan el tamaño inicial del área de almacenamiento y el tamaño máximo de almacenamiento permanente. Espacio para las clases de carga, que está relacionada con el espacio de generación permanente.
El segundo caso:
Coloque el proyecto compilado directamente en Tomcat y use startup.bat para iniciar el servicio Tomcat. Como sigue en la carpeta Bin de Tomca:
En este caso, necesitamos modificar los parámetros en Catalina.Bat. Ábralo. Encuentra estas dos oraciones:
Rem SUGUS CATALINA_HOME si no se define
Establecer "Current_Dir =%CD%"
Agregue esta oración a estas dos oraciones y asegúrese de: establecer "java_opts = -xms512m -xmx1024m -xx: permSize = 256m -xx: maxPermsize = 512m"
Hay muchas cosas similares en Internet, pero muchas de ellas no se han probado.
La tercera situación:
Si su TomCat está registrado como un servicio de Windows y se inicia en el servicio, entonces el método anterior no es válido, porque en este momento el inicio de Tomcat es leer los parámetros del registro en lugar de los parámetros del archivo por lotes. este. : Encuentra Tomcat7w.exe en el directorio bin de Tomcat y abierto:
Según las opciones de Java: El grupo de memoria inicial a continuación es la inicialización del tamaño de la memoria del montón, y el grupo de memoria Maximun es el tamaño de memoria de montón máximo. Para establecer el tamaño del grupo Perm Gen, debe agregar parámetros a la opción Java y agregar:
-Dcatalina.base =%Tomcat_home%
-Dcatalina.home =%tomcat_home%
-Djava.endorsed.dirs =%tomcat_home%/respaldo
-Djava.io.tmpdir =%tomcat_home%/temp
-Xx: permSize = 256m
-Xx: maxPermsize = 256m
-Xx: ReservedCodeCachesize = 48m
-Duser.Timezone = GMT+08
(No tengo espacios después de cada línea) He probado este método, funciona. También puede agregar parámetros directamente en el registro. No presentaré esto, no lo he probado yo mismo.
De hecho, no es difícil resolver el problema de la memoria Tomcat. Nos hemos preocupado por este problema durante mucho tiempo antes. Si usa Eclipse, se imprimirá un mensaje de error en la consola. Pero instalamos el servicio Tomcat en un servicio de Windows, por lo que no pudimos ver ninguna indicación de error. Después de que se inició el proyecto, siempre fue en un estado de espera, lo cual fue muy lento, lo que confundió a la gente. En resumen, inexperto.
Lo anterior se trata de resolver OutOfMemoryError en Java, y espero que sea útil para el aprendizaje de todos.