Este artículo presenta el método (2 tipos) de eclipse para modificar la sintonización de parámetros JVM, y lo comparte con usted, como sigue:
En general, cuando no configura la configuración relevante para Eclipse, siempre sentirá que la inicio es lenta y es bueno usarlo. De hecho, siempre que configure los parámetros relevantes de Eclipse, mejorará enormemente.
Hay dos formas:
1. Abra el archivo de configuración de Eclipse eclipse.ini y cambie -xmx (su valor representa la memoria máxima que JVM puede usar)
2. Al ejecutar el programa Java, seleccione Run-> Ejecutar configuración-> Argumentos e ingrese -xms100m -xmx800m (-xms representa el tamaño de la memoria asignado cuando JVM comienza, y -xmx representa la cantidad máxima de memoria que se puede asignar).
Hoy, cuando estaba probando el documento en una imagen en Eclipse, se informó el siguiente error:
java.lang.OutofMemoryError: Java Heap Space
De la información de excepción anterior, podemos ver que la memoria requerida por el JVM ha excedido la memoria máxima que asignamos a la máquina virtual. Entonces, el problema se convierte en cómo establecer la memoria máxima de JVM en Eclipse.
1. Intente modificar el archivo eclipse.ini (este método no funciona)
Encuentre el archivo eclipse.ini en el directorio de eclipse y modifique el siguiente contenido:
-Xms40m-xmx512m
Después de modificarlo, reiniciar Eclipse, descubrió que no funcionaba en absoluto. Después de verificar alguna información más tarde, resultó que la memoria mínima y máxima establecida aquí fue para usar el JVM. Este valor de memoria contiene la memoria utilizada por Eclipse.
2. Modifique JDK para usar la memoria (este método es factible)
Buscar ventana-> Preferencias-> java-> Installed JRE en Eclispe, haga clic en el botón Editar a la derecha y complete los siguientes valores en la opción "Argumentos VM predeterminados" en la interfaz de edición.
-Xms64m -xmx128m
3. Modificar configuraciones de ejecución (este método es factible)
Haga clic derecho en el código, haga clic en "Ejecutar como" -> "Ejecutar configuraciones" en el orden y complete los siguientes valores en "VM Arguments:" en el parámetro de argumentos.
-Xms64m -xmx128m
La memoria del montón se establece principalmente a través de los siguientes parámetros JVM:
| -Xmx512m | Memoria total máxima total, generalmente establecida en 1/4 de memoria física |
| -Xms512m | La memoria de montón total inicial generalmente se establece tan grande como la memoria de almacenamiento máximo, por lo que no es necesario ajustar el tamaño del montón de acuerdo con el uso de montón de actualidad. |
| -Xmn192m | Joven con memoria de montón, Sun recomienda oficialmente 3/8 de todo el montón |
| Composición de la memoria del montón | Memoria total del montón = joven con memoria de montón + antigua con memoria de montón + persistente con memoria de montón |
| Joven con un montón de memoria | El objeto se puso aquí cuando se creó |
| Más viejo con un montón de memoria | El objeto se colocará aquí antes de que realmente se recicle. |
| Persistente con la memoria de montón | Los archivos de clase, los metadatos, etc. se colocan aquí |
| -Xx: permSize = 128m | El tamaño inicial del montón de correa persistente |
| -Xx: maxPermsize = 128m | El tamaño máximo del montón de banda persistente, el eclipse predeterminado es de 256 m. Si desea compilar JDK, debe establecer que esto sea muy grande porque hay demasiadas clases. |
4. Consulte el código de memoria JVM actual
El siguiente es el código para consultar el tamaño de memoria JVM actual. Puede probar si la memoria JVM cambiará después de la configuración anterior. Después de aumentar los elementos de configuración para la memoria JVM, no es necesario reiniciar Eclipse. El código específico es el siguiente:
public class testMemory { / ** * @param args * / public static void main (string [] args) {sistema. out .println ("Información de memoria:" + tomemoryInfo ()); } / ** * Obtenga la información de memoria del JVM * * @return * / public static static tomeMoryInfo () {runtime currruntime = runtime.getRuntime (); int nfreememory = (int) (Currruntime.freememory () / 1024 /1024); int ntotalMemory = (int) (Currruntime.totalMemory () / 1024 /1024); return nfreememory + "m/" + ntotalMemory + "m (libre/total)"; }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.