今天在用IntelliJ IDEA运行项目时速度奇慢,上网找了一些解决方法,记录一下以供参考。

修改配置文件

  • 修改intellij idea安装目录下 \bin\idea.exe.vmoptions

      -server
    -Xverify:none
    -Xms300M
    -Xmx512M
    -XX:+UseParNewGC
    -XX:PermSize=128m
    -ea

-server 使用server jvm。酌情使用,有些doc说IDEA加该选项可以提高速度。

-Xverify:none 关闭Java字节码验证,从而加快了类装入的速度,并使得在仅为验证目的而启动的过程中无需装入类,缩短了启动时间。

-Xms:是另一个设置内存的参数,用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。不过同样有前面的限制,以及受到xmx的限制。

-Xmx:是java的一个选项,用来设置你的应用程序能够使用的最大内存数(看好,致使你的应用程序,不是整个jvm),如果你的程序要花很大内存的话,那就需要修改缺省的设置,比如配置tomcat的时候,如果流量啊程序啊都很大的话就需要加大这个值了,不过有一点是要记住的,不要大得超过你的机器的内存,那样你的机器会受不了的,到时候就死翘翘了。

-XX:PermSize 永久区的大小。

-XX:+UseParNewGC 使用并行收集算法。

       内存大的童鞋可以修改idea.exe.vmoptions文件为:

  • -Xms256m
    -Xmx384m
    -XX:MaxPermSize=128m
    -XX:NewRatio=
    -Xss128k
    -Dsun.awt.keepWorkingSetOnMinimize=true
    -server
  • 修改intellij idea安装目录下 \bin\idea.properties

不管你将 Intellij 装在什么地方,它都会在 C 盘的用户目录下创建 .IntelliJIdeaXX 目录,而且这个目录会随着时间增长到几个 G 那么大。这会占用C盘的空间,为了不占用C盘空间,可以更改配置,把idea配置文件放到其它分区中去。

.IntellijIdeaXX 目录移到其他分区的办法:

  1. 将C盘的.IntellijIdeaXX 目录拷贝至自定义位置;
  2. 修改intellij idea安装目录下 \bin\idea.properties文件,将所有的 ${user.home} 替换为自定义位置 (注意斜杠的方向);
    ...
    cfg = D:/JetBrains
    idea.config.path=${cfg}/.IntelliJIdea/config
    idea.system.path=${cfg}/.IntelliJIdea/system
    ...
  3. 启动 IntelliJ Idea ,选择previous配置(即自定义位置)

其他影响因素
除了对idea启动的内存分配外,还有下列因素可能影响运行速度:

  1. 你的C盘空闲是否足够,因为idea会在c盘你的用户目录下建立缓存。如果你的c盘空间小,运转起来会比较累。
  2. 你的project是否臃肿。因为默认的idea会将所有文件都当成project的文件,而其实我们需要在idea里编辑的基本都是程序文件。而 class文件、jar文件、doc文件等等都是不需要的。打开module setting界面,切换到source选项把不属于程序文件的都exclude掉,大大降低idea的负荷。
  3. 项目路径中含有中文,会大大增加运行的时间。

IntelliJ IDEA运行慢解决方法的更多相关文章

  1. DirectX11--教程项目无法编译、运行的解决方法

    综述 对于Win10系统的大多数用户来说,可以直接编译本教程对应的项目并运行.但也有部分用户由于某些原因可能会出现无法编译的情况. DirectX11 With Windows SDK完整目录 欢迎加 ...

  2. 【翻译自mos文章】job 不能自己主动运行的解决方法

    job 不能自己主动运行的解决方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Ent ...

  3. $ gulp watch 运行出错解决方法

    $ gulp watch 运行出错解决方法   $ gulp watch     如果你出现了如下报错信息: gulp-notify: [Laravel Elixir] Browserify Fail ...

  4. win7 64位平台编译的程序在XP 32位平台无法运行的解决方法

    win7 64位平台编译的程序在XP 32位平台无法运行的解决方法 vs2010的开发环境,制作了一个DLL库.但DLL在XP 32位平台一直无法使用.解决方法如下: 右键项目,属性->配置属性 ...

  5. 关于win7右下角显示“音频服务未运行”的解决方法

    今天打开电脑发现右下角的的小喇叭多了个叉叉,显示“音频服务未运行”,百度了一下,解决方法还是挺多的,一下是百度到的解决方法,希望可以帮到出现这个问题的朋友们. 解决方法:(转载的) 1.Windows ...

  6. Python3.7 Scrapy crawl 运行出错解决方法

    安装的是Python3.7,装上依赖包和scrapy后运行爬虫命令出错 File "D:\Python37\lib\site-packages\scrapy\extensions\telne ...

  7. 双击jar不能运行的解决方法

    1.问题描述     使用eclipse导出jar.双击jar文件弹出一个内容为“a java exception has occurred”的错误警告提示! 但是在命令行用 java -jar Em ...

  8. IntelliJ IDEA常见问题及解决方法

    1.IDEA导入项目后,源码.java文件图标带有红色圆圈,圆圈中间是个J: 该现象的原因是由于项目未把该路径指定为源码路径.解决方法: 在project Structure中(快捷键ctrl+alt ...

  9. JavaEE复制后项目出错或者无法运行的解决方法

    eclipse中,直接复制项目,会出现一些错误,解决方法如下: 1,在复制后的工程上点右键->properties->Web Project Settings>web context ...

随机推荐

  1. Intent及IntentFilter具体解释

    Intent用于启动Activity, Service, 以及BroadcastReceiver三种组件, 同一时候还是组件之间通信的重要媒介. 使用Intent启动组件的优势 1, Intent为组 ...

  2. 工厂方法模式的一些思考(java语法表示)

    同为创造型设计模式的简单工厂模式可以理解为对new关键字的代替. 本着重复三次即重构的原则,如果一个对象在不同的地方被new了两次以上,那就可以考虑使用它.那我们为什么要用简单工厂模式代替new呢?就 ...

  3. AOP入门(转)

    本文转自http://www.cnblogs.com/yanbincn/archive/2012/06/01/2530377.html Aspect Oriented Programming  面向切 ...

  4. .Net 异步方法, await async 使用

    最近朋友问起await  和 async第一次听说这个await ,就查了一下这个await使用在于 异步方法async 中,中文意思就是等待,经过一系列的百度参考简单的明白了这个东西的意思,  异步 ...

  5. 关于close和shutdown

    我们知道TCP是全双工的,可以在接收数据的同时发送数据.假设有主机A在和主机B通信,可以认为是在两者之间存在两个管道.就像这样:A ---------> BA <--------- B 1 ...

  6. JMeter获取CSV文件行数

    import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new F ...

  7. 【java设计模式】代理模式

    计算类中方法运行时间的几种方案: Client: package com.tn.proxy; public class Client { public static void main(String[ ...

  8. iOS 常用到的宏#define

    //AppDelegate #define APPDELEGATE [(AppDelegate*)[UIApplication sharedApplication] delegate] //----- ...

  9. UVALive 4850 Installations

    题目大意:有若干个任务,每个任务耗时si,期限为di,同一时间只能做一个任务.对于一个任务,惩罚值为max(0,完成时间-期限).问怎么安排,使(最大惩罚值+次大惩罚值)最小,O(n^2). 如果没有 ...

  10. CSS3 使用选择器在页面插入内容

    使用选择器来插入文字 h2:before{ content:'COLUMN'; color:white: background-color:orange: padding:1px 5px; } 注意点 ...