para intellij idea full intellij-idea

intellij idea - idea - ¿Por qué es tan lenta la ID de IntelliJ 13 después de actualizar desde la versión 12?



intellij idea vs eclipse (17)

Mientras se usa la edición final de IntelliJ 13 durante una semana, parece muy lento.

En primer lugar, todo el IDE se detiene por un segundo o más de vez en cuando. La finalización automática del editor de Java es realmente lenta en comparación con la versión 12.

No he cambiado nada de la configuración predeterminada que no sea el uso de un tema de Drácula.

Parece que este no es un problema mío. Muchas personas sugirieron establecer el tamaño del montón más alto que el predeterminado, o borrar el caché, pero no he comprobado ni probado esta sugerencia. ¿Necesito cambiar alguna configuración para mejorar el rendimiento de la nueva versión?


75s -> 10s intellij startup. Todo lo que hice fue cambiar el uso del archivo predeterminado de 32 bits al uso del archivo de 64 bits.


Bueno, no puedo responder a la publicación de Engineer Dollery anterior porque todavía no tengo 50 representantes ... pero he notado lo mismo. Ya se ha informado un problema relacionado con hg4idea: http://youtrack.jetbrains.com/issue/IDEA-118529 .

Todavía no hay una solución, excepto para deshabilitar el complemento hg4idea. Pero si ese es tu problema, ¡vota por el error!

Edición: ¡JetBrains ha corregido el error en la compilación IU-138-815!


En mi caso, la degradación masiva del rendimiento fue causada por el uso intencional de IntelliJ utilizando JDK / JRE 1.8. Esto parece afectar bastante mal el rendimiento de la representación y también provoca algunos bloqueos inesperados y puntos muertos.

Esto haría que el IDE sea inutilizable (latencia de 1-2s en las operaciones) incluso para un pequeño proyecto ~ 3KLOC.

Solo asegúrese de que está utilizando JDK / JRE 1.7 cuando ejecuta intellij:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67 intellij

(o lo que sea el equivalente para su sistema operativo)

Puede verificar el JRE que se está utilizando para ejecutar intellij en Ayuda -> Acerca de -> JRE.


En mi caso, estoy desarrollando dentro de Moodle que crea enormes archivos minificados JS y CSS. Una vez que excluí estos archivos minificados "en caché" del proyecto, InitelliJ se ejecutó normalmente nuevamente.


En mi caso, la integración de GIT parece estar causando que el editor sea frustrantemente lento con 13.

Mientras escribe, incluso los comentarios, con la integración de GIT activada, después de unos 30 caracteres, la interfaz de usuario se congela durante un segundo aproximadamente. Por lo general no es largo, pero es muy molesto.

Estoy usando GIT 1.7.8.0. Se ejecuta en Windows 7 64 con una unidad de estado sólido y 12 gigas de RAM y un Intel I7 con 8 CPU. Intenté varias cosas, como actualizar el idea64.exe.vmoptions para usar más memoria, como -Xmx2400m y -XX: MaxPermSize = 2400m, -XX: ParallelGCThreads = 6, pero no solucionó el problema.

El repositorio de git es de 1.3 gigas con 65,000 archivos.

Creé un nuevo proyecto "grails" en un nuevo repositorio de git, y no hay problema. Creé un nuevo proyecto de griales en el gran repositorio de git existente, y intellij es lento. Desactivé la integración de git abriendo el cuadro de diálogo de configuración del proyecto y eliminando la raíz de git, y el problema desaparece.

Intenté deshabilitar todas las operaciones de fondo GIT a través de la interfaz de usuario 13, pero no hizo una diferencia. También probé los modos GIT incorporado y nativo, y no hizo ninguna diferencia.

En mi caso, la solución parece ser deshabilitar la integración de GIT hasta que la necesite, y luego volver a agregar la raíz de git. Si alguien más puede verificar el mismo problema, entonces podemos reportarlo como un problema.


Estoy en 13.1, y he encontrado que la siguiente configuración funciona de maravilla para mí: Configuración de IDE -> Editor -> Retardo de autoreparación (ms), que he establecido en 1500 (el valor predeterminado es 300).

En un proyecto grande, el compilador y las inspecciones se iniciarían constantemente entre las interacciones. La demora quizás ayude a reducir la presión del montón y, en general, a hacer que toda la experiencia sea mucho más rápida. Mi cpu también es mucho más genial, lo que probablemente ayude.


He estado usando 13 desde la versión beta temprana y no tengo ningún problema. Tal vez sea su configuración específica. ¿Tal vez su proyecto ha crecido con el tiempo y la memoria que le dio a Idea originalmente no es suficiente para eso ahora? Intente darle a Idea más memoria para trabajar con: http://www.jetbrains.com/idea/webhelp/increasing-memory-heap.html (instrucciones sobre cómo hacerlo).


He resuelto mis problemas de rendimiento cambiando al modo de 32 bits. Parece estar relacionado con el JRE con el que se ejecuta IntelliJ. Se envía con un JRE de 1.7 bits de 32 bits que se utiliza al iniciar idea.exe. Si inicia idea64.exe, utiliza un JRE de 64 bits instalado en el sistema. En mi caso, este fue un 1.6 JDK (el que uso para el desarrollo). Esto causó que IntelliJ fuera casi inutilizable.

Después de instalar un JDK de 1.7 bits de 64 bits, todo estaba bien con el modo de 64 bits también.

Vea la respuesta en el sitio web de soporte de IntelliJ .


La mejor experiencia con las siguientes opciones (idea64.exe.vmoptions):

-server -Xms1g -Xmx3g -Xss16m -XX:NewRatio=3 -XX:ReservedCodeCacheSize=240m -XX:+UseCompressedOops -XX:SoftRefLRUPolicyMSPerMB=50 -XX:+UseParNewGC -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=4 -XX:+CMSClassUnloadingEnabled -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+CMSScavengeBeforeRemark -XX:+UseCMSInitiatingOccupancyOnly -XX:MaxTenuringThreshold=1 -XX:SurvivorRatio=8 -XX:+UseCodeCacheFlushing -XX:+AggressiveOpts -XX:-TraceClassUnloading -XX:+AlwaysPreTouch -XX:+TieredCompilation -Djava.net.preferIPv4Stack=true -Dsun.io.useCanonCaches=false -Djsse.enableSNIExtension=true -ea


La versión 13 de IntelliJ es notablemente más lenta que la versión 12 según mi experiencia. Hay algunas formas de acelerarlo, como aumentar las opciones de VM para intelliJ. Por ejemplo. Estoy usando un proyecto de Maven, y para eso aumenté las opciones de corredor e importador a 4GB. Hizo las cosas mucho más rápido que antes.


Me enfrentaba a un rendimiento lento con Intellij 2016.1 (64 bits) y JDK 1.8 (64 bits). Cambié a

  • Intellij de 64 bits
  • Java 8 de 64 bits como ruta JAVA_HOME (esto es necesario para ejecutar Intellij de 64 bits)
  • Java 8 de 32 bits como JDK para usarse en proyectos Intellij (Archivo -> Estructura del proyecto | Configuración del proyecto -> Proyecto | Project SDK).

Por esta combinación, ahora el rendimiento de Intellij está bastante bien.


Mi caso particular (Mac) fue que edité info.plist para usar java 1.7 * (por cualquier razón), y funcionó como un perro absoluto.

Cambié de nuevo a 1.6 * e instalé java 1.6, y fue rápido.


Noté que deshabilitar muchos de los complementos realmente ayuda a acelerar IntelliJ. Por ejemplo, no estoy desarrollando aplicaciones de Android. Desactivar los complementos relacionados con el desarrollo de Android acelera el tiempo de carga y hace que el programa se ejecute mucho más suave en mi máquina.


Para mí, el problema era una carpeta nodes_modules con más de mil archivos. Tuve que marcar el directorio como excluido.

También vea this lista de posibles problemas.


Tuve el mismo problema con la lentitud en IntelliJ 13 después de actualizar desde 12. Lo que funcionó para mí fue editar la idea64.vmoptions en la carpeta bin y configurar el montón máximo a 8 GB (fue de 512 MB) y el PermGen máximo a al menos 1 GB (era 300MB). Ejemplo abajo:

-Xms128m -Xmx8192m -XX:MaxPermSize=1024m

Al reiniciarlo fue mucho más rápido.

En una Mac, este archivo se encuentra en esta ruta: /Users/yourusername/Library/Preferences/IntelliJIdea13/idea.vmoptions

Para IntelliJ 14 o 15 en Mac /Applications/IntelliJ IDEA 14.app/Contents/bin/idea.vmoptions

Para IntelliJ 2016, 2017 o superior en Mac /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions

La actualización 2017 de IntelliJ parece revertir este cambio, por lo que es posible que deba volver a aplicarlo después de la actualización.

En Ubuntu Linux, este archivo se encuentra en esta ruta en relación con el directorio de instalación:

idea-IU-135.475/bin/idea64.vmoptions

y para 2016.2:

~/.IdeaIC2016.2/idea64.vmoptions

En Windows 10 (edición comunitaria que se muestra aquí), estos archivos se encuentran en:

C:/Program Files (x86)/JetBrains/IntelliJ IDEA Community Edition 2016.1.3/bin/idea64.exe.vmoptions



Tuve un problema similar. En ese caso fue el plugin de Subversion. (Mac Mavericks, SVN versión 1.7.10) Una vez que deshabilité este IntelliJ se volvió a utilizar.

Conseguí esto de jstack:

"Change List Updater" daemon prio=2 tid=10df3f000 nid=0x12a421000 runnable [12a41f000] java.lang.Thread.State: RUNNABLE at java.util.Collections.unmodifiableList(Collections.java:1131) at com.intellij.execution.configurations.ParametersList.getList(ParametersList.java:88) at com.intellij.execution.configurations.GeneralCommandLine.getCommandLineString(GeneralCommandLine.java:210) at com.intellij.execution.configurations.GeneralCommandLine.getCommandLineString(GeneralCommandLine.java:189) at org.jetbrains.idea.svn.commandLine.CommandExecutor.createProcessHandler(CommandExecutor.java:186) at org.jetbrains.idea.svn.commandLine.CommandExecutor.start(CommandExecutor.java:137) - locked <76afcdfb8> (a java.lang.Object) at org.jetbrains.idea.svn.commandLine.CommandExecutor.run(CommandExecutor.java:262) at org.jetbrains.idea.svn.commandLine.CommandRuntime.runWithAuthenticationAttempt(CommandRuntime.java:62) at org.jetbrains.idea.svn.commandLine.CommandUtil.execute(CommandUtil.java:206) at org.jetbrains.idea.svn.commandLine.CommandUtil.execute(CommandUtil.java:189) at org.jetbrains.idea.svn.commandLine.SvnCommandLineInfoClient.execute(SvnCommandLineInfoClient.java:120) at org.jetbrains.idea.svn.commandLine.SvnCommandLineInfoClient.issueCommand(SvnCommandLineInfoClient.java:104) at org.jetbrains.idea.svn.commandLine.SvnCommandLineInfoClient.doInfo(SvnCommandLineInfoClient.java:90) at org.jetbrains.idea.svn.commandLine.SvnCommandLineInfoClient.doInfo(SvnCommandLineInfoClient.java:232) at org.jetbrains.idea.svn.commandLine.SvnCommandLineStatusClient.doStatus(SvnCommandLineStatusClient.java:106) at org.jetbrains.idea.svn.SvnRecursiveStatusWalker.go(SvnRecursiveStatusWalker.java:79) at org.jetbrains.idea.svn.SvnChangeProvider.getChanges(SvnChangeProvider.java:89) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.a(ChangeListManagerImpl.java:686) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.a(ChangeListManagerImpl.java:596) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.d(ChangeListManagerImpl.java:480) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.access$1100(ChangeListManagerImpl.java:71) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl$ActualUpdater.run(ChangeListManagerImpl.java:387) at com.intellij.openapi.vcs.changes.UpdateRequestsQueue$MyRunnable.run(UpdateRequestsQueue.java:260) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695)

otra carrera:

"Change List Updater" daemon prio=2 tid=124556000 nid=0x129c7a000 runnable [129c78000] java.lang.Thread.State: RUNNABLE at java.io.UnixFileSystem.getBooleanAttributes0(Native Method) at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228) at java.io.File.exists(File.java:733) at org.apache.xerces.parsers.SecuritySupport$7.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at org.apache.xerces.parsers.SecuritySupport.getFileExists(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source) at org.jetbrains.idea.svn.commandLine.SvnCommandLineStatusClient.parseResult(SvnCommandLineStatusClient.java:138) at org.jetbrains.idea.svn.commandLine.SvnCommandLineStatusClient.doStatus(SvnCommandLineStatusClient.java:118) at org.jetbrains.idea.svn.SvnRecursiveStatusWalker.go(SvnRecursiveStatusWalker.java:79) at org.jetbrains.idea.svn.SvnChangeProvider.getChanges(SvnChangeProvider.java:89) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.a(ChangeListManagerImpl.java:686) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.a(ChangeListManagerImpl.java:596) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.d(ChangeListManagerImpl.java:480) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.access$1100(ChangeListManagerImpl.java:71) at com.intellij.openapi.vcs.changes.ChangeListManagerImpl$ActualUpdater.run(ChangeListManagerImpl.java:387) at com.intellij.openapi.vcs.changes.UpdateRequestsQueue$MyRunnable.run(UpdateRequestsQueue.java:260) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695)