今天在用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. javascript跳跃式前进(3) - 跳入JSON

    前言 JSON崛起不是意外,是顺应时代;相当简洁小巧的书写模式及阅读方式; 基础 看这篇文章: JSON知识点汇总_W3SCHOOL 初步进阶 早期的解析仅仅实用eval() ,可是这货太easy给注 ...

  2. POJ 1861:Network(最小生成树&&kruskal)

    Network Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13266   Accepted: 5123   Specia ...

  3. (转)spring aop(下)

    昨天记录了Spring AOP学习的一部分(http://www.cnblogs.com/yanbincn/archive/2012/08/13/2635413.html),本来是想一口气梳理完的.但 ...

  4. es6+require混合开发,兼容es6 module,import,export之 加载css及公用date-main

    大家好!上篇文章已经介绍了搭建文件夹,以及加载js文件.现在讲一下加载css ,以及对baseUrl的理解 1.对项目结构的认知 一个项目的结构是根据项目的架构来决定的,当然也可以做到更智能,但是意义 ...

  5. Angular相关命令

    1 创建相关 1.1 创建项目 ng new 项目名  ->  创建新项目 ng new 项目名 --skip-install  -> 不进行模块安装  ng new 项目名 -si ng ...

  6. Asp.Net Web API(二)

    创建一个Web API项目 第一步,创建以下项目 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页. 添加Model ...

  7. 晒下我在2017年所阅读的JavaScript书单

    前言 学习是一个持续不断的过程,在互联网技术里畅游的程序猿们,对学习的渴望更是难以穷尽.2017即将逝去,2018已经漏出曙光,回顾这一年,在学习的路上收获还是颇丰的,下面就晒一晒2017年我所学习的 ...

  8. OC学习13——Foundation框架中的集合

    OC集合类是一些非常有用的工具类,它可以用于存储多个数量不等的对象,并可以实现常用的数据结构(栈.队列等),此外,OC集合还可用于保存具有映射关系的关联数组.OC的集合大致可以分为:NSArray.N ...

  9. softmax分类算法原理(用python实现)

    逻辑回归神经网络实现手写数字识别 如果更习惯看Jupyter的形式,请戳Gitthub_逻辑回归softmax神经网络实现手写数字识别.ipynb 1 - 导入模块 import numpy as n ...

  10. shell按行读取文件

    这工作小半年了发现以前学的那么多流弊技能都不怎么用,倒是shell用的很多,自己已经从shell小菜鸟一步步走过来,已经要变成大菜鸟=.= 经常需要用shell按行读取配置文件,自己在上面踩了很多坑, ...