jvm - low - java memory intellij
PHPStorm/Webstorm aumenta la memoria a mรกs de 512 MB (6)
Asegúrese de que PhpStorm utilice Java de 64 bits y no incluido (que es de 32 bits). Usted comprueba que en Help | About
Help | About
En términos generales, con Java de 64 bits no tiene que cambiar ese valor, ya que funciona de manera diferente en comparación con el de 32 bits.
1) PhpStorm viene con Java incluido x86 y es el primero que intenta; solo entonces busca otras instalaciones de Java: consulte PhpStorm.bat
para obtener detalles (qué variables de entorno y en qué orden). Al definir una de esas variables de entorno (que apuntará a su instalación de Java de 64 bits), puede indicarle a PhpStorm que use en lugar de una incluida.
2) PhpStorm v8 (actualmente en etapa EAP) viene con archivos específicos de 64 bits: debe usar PhpStorm64.exe
y no PhpStorm.exe
(lo mismo para el archivo .vmoptions
- debe ser PhpStorm64.exe.vmoptions
).
No estoy seguro de cómo funciona PhpStorm v7 con Java de 64 bits, nunca lo intenté de esta manera.
Al seleccionar la versión JDK, el IDE se ejecutará en
Estoy usando PHPStorm
en Win7 64bit
con 64bit Java (latest version I guess)
y actualmente 64bit Java (latest version I guess)
trabajando en un proyecto increíblemente grande y caótico. Hay muchas clases que contienen 10k LOC
y más. Por lo tanto, mi PHPStorm
queda sin memoria de vez en cuando.
Aparece este bonito cuadro de diálogo Out-of-Memory
sugiere aumentar la configuración de mi memoria. Actualmente tengo configurado mi PhpStorm.exe.vmoptions
:
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
El problema es: cuando aumento la memoria para utilizarla en este archivo, aparece el siguiente error al iniciar el programa:
Error al crear JVM: Código de error -4
Busqué en Google pero nadie parece querer que la memoria sea más de 512MB
.
¿Alguien sabe lo que puedo hacer para utilizar PHPStorm sin ninguna molestia otra vez?
Claro, puedo restablecer el caché, pero esta no es una solución permanente, ¿verdad?
Leí en alguna parte que agregar esta línea a mis vmoptions
es una buena idea, pero no veo ninguna diferencia:
-server
....
-XX:MinHeapFreeRatio=15
Después de leer esta publicación, cambié a la versión de 64 bits (después de instalar el JDK correcto) y aumenté la memoria designada a 2 GB solo para apagarla. Pero todavía golpeo el techo, congela et.c.
Finalmente me di cuenta de que tenía mi carpeta bower_components
rastreada. Carpetas como esta con toneladas de javascript-files et.c. Básicamente, se comerá todo el ram del mundo (también excluyo la carpeta node_modules
ahora, misma historia). Así que hice clic con el botón derecho en la carpeta> Marcar directorio como> Exluido. Después de un poco de recolección de basura, la huella de memoria de PhpStorm se redujo a 5-600mb, lo que parece razonable.
Encontré un archivo de registro en la aplicación que creció de unas pocas KB a más de 2 GB durante unos segundos debido a un error. Webstorm intentaba indexar este archivo de registro de 2 GB y quedarse sin memoria. La eliminación del archivo de registro resolvió el problema (y luego, al solucionar el error, no se pudo hacer crecer el archivo de registro).
Antes de esto también intenté ejecutar x64 JDK y aumentar XMX a 2048. Pero al final, un entorno de 64 bits con 2048 MB no fue suficiente (aunque 512 MB siempre fue suficiente antes).
Simplemente File
> Invalidates Caches / Restart...
funciona para mí. ๐๐
PhpStorm 2016.1 y más nuevo
A partir de PhpStorm 2016.1 en lugar de WEBIDE_JDK_64
debe usar la variable de entorno JAVA_HOME
que debe apuntar a su ruta JVM.
Versiones anteriores PhpStorm 2016.1
Como se mencionó en la respuesta de @ LazyOne, a partir de PhpStorm v8 (ya publicado), puede usar PhpStorm64.exe. Pero no pude encontrar ninguna descripción sobre cómo especificar la ruta JVM para ello. El documento que explica cómo seleccionar la versión de JDK parece estar un poco desactualizado.
Después de algunas investigaciones, descubrí que debe crear la variable de entorno WEBIDE_JDK_64
que debe apuntar a la ruta de instalación de JRE de 64 bits. Después de hacer esto, podrá iniciar PhpStorm64.exe.
Por defecto, establece la memoria máxima en 750mb
. Si necesita más, puede modificar C:/Program Files (x86)/JetBrains/PhpStorm 8/bin/PhpStorm64.exe.vmoptions
. La mejor idea, sin embargo, sería editar el archivo vmoptions de su usuario. Simplemente copie C:/Program Files (x86)/JetBrains/PhpStorm 8/bin/PhpStorm64.exe.vmoptions
en %USERPROFILE%/.IntelliJIdea12/idea.vmoptions
y establezca -Xmx750m
en un valor superior.