Why is IntelliJ 13 IDEA so slow after upgrading from version 12?

后端 未结 20 1449
礼貌的吻别
礼貌的吻别 2020-12-04 04:58

While using IntelliJ 13 ultimate edition for a week, it just seems really slow.

First of all, the whole IDE stops for a second or so every once in a while. The Java

相关标签:
20条回答
  • 2020-12-04 05:24

    I had the same problem with slowness in IntelliJ 13 after upgrading from 12. What worked for me was editing the idea64.vmoptions in the bin folder and setting the max heap to 8 GB (was 512 MB) and the Max PermGen to at least 1GB (was 300MB).Example below:

    -Xms128m
    -Xmx8192m
    -XX:MaxPermSize=1024m
    

    Upon restart it was much faster.

    For IntelliJ 2020 going back to 2017 on Mac /Applications/IntelliJ IDEA.app/Contents/bin/idea.vmoptions

    On a Mac, this file is located in this path:

    For IntelliJ 14 or 15 on Mac /Applications/IntelliJ IDEA 14.app/Contents/bin/idea.vmoptions

    For IntelliJ 13 on Mac /Users/yourusername/Library/Preferences/IntelliJIdea13/idea.vmoptions

    IntelliJ's updater (since 2017) seems to roll this change back, so you may need to re-apply it after updating.

    On Ubuntu Linux, this file is located in this path relative to the install directory:

    idea-IU-135.475/bin/idea64.vmoptions
    

    and for 2016.2:

     ~/.IdeaIC2016.2/idea64.vmoptions
    

    On Windows 10 (Community edition shown here) these files are located in:

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

    0 讨论(0)
  • 2020-12-04 05:28

    75s -> 10s intellij startup. All I did was switch from using the default 32bit exe to using the 64bit exe.

    0 讨论(0)
  • 2020-12-04 05:32

    In my case I am developing within Moodle which creates huge JS and CSS minified files. Once I excluded theses "cached" minified files from the project, InitelliJ ran normally again.

    0 讨论(0)
  • 2020-12-04 05:34

    Well I can't reply to Engineer Dollery's post above because I don't have 50 rep yet... but I've noticed the same thing. One problem has been reported already regarding hg4idea: http://youtrack.jetbrains.com/issue/IDEA-118529.

    There't no fix yet except to disable the hg4idea plugin. But if that turns out to be your problem, vote for the bug!

    Edit: JetBrains has fixed the bug in build IU-138-815!

    0 讨论(0)
  • 2020-12-04 05:35

    Best experience with following options (idea64.exe.vmoptions):

        -server
        -Xms1g
        -Xmx3g
        -Xss16m
        -XX:NewRatio=3
    
        -XX:ReservedCodeCacheSize=240m
        -XX:+UseCompressedOops
        -XX:SoftRefLRUPolicyMSPerMB=50
    
        -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
    
    0 讨论(0)
  • 2020-12-04 05:36

    I had a similar problem. In that case it was the Subversion plug-in. (Mac Mavericks, SVN version 1.7.10) Once I disabled this IntelliJ became useable again.

    Got this from 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)
    

    other run:

    "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)
    
    0 讨论(0)
提交回复
热议问题