Intellij IDEA 12 反应缓慢

11

我已经升级到 IDEA 12,并对其反应迟钝感到沮丧。类导航需要几秒钟才能填充搜索列表(以前是即时的),与文件列表操作相关的任何对话框都会挂起几分钟。将一个类移动到另一个包中会卡住,我不得不终止该进程。有人和我有同样的经历吗?

其他信息:

  • 我使用的是 Windows 7 操作系统
  • 我尝试了 64 位和 32 位版本,但两者都有同样的问题
  • 我的 64 位 vmoption 文件具有以下配置:

enter image description here

  • 我已将日志目录压缩并放在http://ge.tt/1JwgAnU/v/0上。当我开始生成日志目录时,我首先清理它,然后启动 IDEA 64 位,打开一个项目(自动),然后调用“文件”>“导入模块”命令。我观察到在对话框弹出之前大约有一分钟的延迟。在日志目录中,我看到了一个名为threadDumps-20130106-091041-IU-123.100的文件夹。但 idea.log 文件中没有找到异常。

更新

一个 screenr 显示 IDEA 尝试通过拖放将一个类移动到另一个包中时会卡住:http://www.screenr.com/zlA7


1
我没有遇到任何问题;我发现了一些显著的速度改进,甚至在提高JVM内存相关参数之前就能看到。没有出现任何卡顿。总之,你没有提供任何可以用于诊断的实际信息(操作系统、JDK、内存参数等)。 - Dave Newton
确保为IDEA分配了足够的内存。在右下角,您可以看到是否有未使用的RAM可供IDEA使用。 - Deepak Singhal
我附加了额外的信息,包括vmoptions文件。我想这应该足够用于内存分配。 - Gelin Luo
日志目录中的线程转储显示,文件系统访问在您的计算机上花费了异常长的时间。您是否有映射的网络驱动器?您是否运行杀毒软件? - yole
顺便提一下,这也会在Linux系统上发生。 - Sliq
显示剩余2条评论
4个回答

16

我发现问题是由于我在Windows 7中安装了JDK 8 ea造成的。IDEA使用exe4j来加载JDK,它自动选择了JDK 8(请参见此问答)。

在我定义了IDEA_JDK_64环境变量并将其指向我的JDK 6后,一个高性能的IDEA回来了!


谢谢,这个解决方案也适用于我。我只定义了IDEA_JDK变量,然后认为64位的IDEA版本会使用它。 - Xander

5

我曾经遇到过同样的问题,但是通过更改idea64exe.vmoptions文件中的一个设置来解决了这个问题: 从... -XX:ReservedCodeCacheSize=64m ...到... -XX:ReservedCodeCacheSize=256m


3

我在RubyMine (使用相同的代码库)中遇到过这个问题,原因是我的系统从Sun/Oracle JDK切换到了OpenJDK。

我看到有人在这个帖子中遇到了类似的问题:OpenJDK或Sun Java适用于IntelliJ IDEA

具体来说,当您从终端启动IDE时,是否看到像下面这样的输出?

OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b24~pre2-1)
OpenJDK Server VM (build 20.0-b12, mixed mode)
WARNING: You are launching IDE using OpenJDK Java runtime.

 THIS IS STRICTLY UNSUPPORTED DUE TO KNOWN PERFORMANCE AND GRAPHICS PROBLEMS!

 NOTE:    If you have both Oracle (Sun) JDK and OpenJDK installed
          please validate either IDEA_JDK, JDK_HOME, or JAVA_HOME environment          variable points to valid Oracle (Sun) JDK installation.
          See http://ow.ly/6TuKQ for more info on switching default JDK

 Press Enter to continue.

也许你应该检查一下是否升级导致IDE回退到非Oracle JDK。

不,我在Windows 7上使用Oracle JDK。我尝试了64位和32位JDK,它们都存在相同的问题。 - Gelin Luo
在Arch Linux上,安装aur/jdk和aur/jre6-compat可以消除此错误消息。 - Danilo Bargen

2
在我的情况下,是Findbugs插件导致了频繁的卡顿。您可以通过从终端运行IDEA并查看日志输出来查看此内容,例如:

未指定类文件;输出将没有警告

在禁用实时Findbugs扫描(设置 -> 检查 -> Findbugs IDEA)后,一切都恢复正常了。


这解决了我在IDE中的问题。这就是第三方插件的大问题,它们有时会搞砸事情。我尽量只安装由JetBrains开发的插件,否则就会出现这种情况。 - Bartzilla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接