IntelliJ IDEA运行慢解决方法
今天在用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 目录移到其他分区的办法:
- 将C盘的.IntellijIdeaXX 目录拷贝至自定义位置;
- 修改intellij idea安装目录下 \bin\idea.properties文件,将所有的 ${user.home} 替换为自定义位置 (注意斜杠的方向);
...
cfg = D:/JetBrains
idea.config.path=${cfg}/.IntelliJIdea/config
idea.system.path=${cfg}/.IntelliJIdea/system
... - 启动 IntelliJ Idea ,选择previous配置(即自定义位置)
其他影响因素
除了对idea启动的内存分配外,还有下列因素可能影响运行速度:
- 你的C盘空闲是否足够,因为idea会在c盘你的用户目录下建立缓存。如果你的c盘空间小,运转起来会比较累。
- 你的project是否臃肿。因为默认的idea会将所有文件都当成project的文件,而其实我们需要在idea里编辑的基本都是程序文件。而 class文件、jar文件、doc文件等等都是不需要的。打开module setting界面,切换到source选项把不属于程序文件的都exclude掉,大大降低idea的负荷。
- 项目路径中含有中文,会大大增加运行的时间。
IntelliJ IDEA运行慢解决方法的更多相关文章
- DirectX11--教程项目无法编译、运行的解决方法
综述 对于Win10系统的大多数用户来说,可以直接编译本教程对应的项目并运行.但也有部分用户由于某些原因可能会出现无法编译的情况. DirectX11 With Windows SDK完整目录 欢迎加 ...
- 【翻译自mos文章】job 不能自己主动运行的解决方法
job 不能自己主动运行的解决方法 參考原文: Jobs do not execute automatically (Doc ID 309945.1) 适用于: Oracle Server - Ent ...
- $ gulp watch 运行出错解决方法
$ gulp watch 运行出错解决方法 $ gulp watch 如果你出现了如下报错信息: gulp-notify: [Laravel Elixir] Browserify Fail ...
- win7 64位平台编译的程序在XP 32位平台无法运行的解决方法
win7 64位平台编译的程序在XP 32位平台无法运行的解决方法 vs2010的开发环境,制作了一个DLL库.但DLL在XP 32位平台一直无法使用.解决方法如下: 右键项目,属性->配置属性 ...
- 关于win7右下角显示“音频服务未运行”的解决方法
今天打开电脑发现右下角的的小喇叭多了个叉叉,显示“音频服务未运行”,百度了一下,解决方法还是挺多的,一下是百度到的解决方法,希望可以帮到出现这个问题的朋友们. 解决方法:(转载的) 1.Windows ...
- Python3.7 Scrapy crawl 运行出错解决方法
安装的是Python3.7,装上依赖包和scrapy后运行爬虫命令出错 File "D:\Python37\lib\site-packages\scrapy\extensions\telne ...
- 双击jar不能运行的解决方法
1.问题描述 使用eclipse导出jar.双击jar文件弹出一个内容为“a java exception has occurred”的错误警告提示! 但是在命令行用 java -jar Em ...
- IntelliJ IDEA常见问题及解决方法
1.IDEA导入项目后,源码.java文件图标带有红色圆圈,圆圈中间是个J: 该现象的原因是由于项目未把该路径指定为源码路径.解决方法: 在project Structure中(快捷键ctrl+alt ...
- JavaEE复制后项目出错或者无法运行的解决方法
eclipse中,直接复制项目,会出现一些错误,解决方法如下: 1,在复制后的工程上点右键->properties->Web Project Settings>web context ...
随机推荐
- Android Things 专题6 完整的栗子:运用TensorFlow解析图像
文| 谷歌开发技术专家 (GDE) 王玉成 (York Wang) 前面絮叨了这么多.好像还没有一个整体的概念.我们怎样写一个完整的代码呢? 如今深度学习非常火,那我们就在Android Things ...
- 两小时搞定C#版超级战舰游戏
课程简单介绍 游戏开发已然是眼下火星上都非常火的开发技术.而休闲的小游戏超级战舰也是眼下白领中最流行的小游戏.那超级战舰游戏是如何在两个小时高速搞定的呢?休闲类的小游戏高速开发的指南是什么?C#是如何 ...
- 行编辑距离Edit Distance——动态规划
题目描写叙述: 给定一个源串和目标串.可以对源串进行例如以下操作: 1. 在给定位置上插入一个字符 2. 替换随意字符 3. 删除随意字符 写一个程序.返回最小操作数,使得对源串进行这些操作后等 ...
- HTTP Status 500 - Request processing failed; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement
1.什么操作出现:当我在项目中添加产品或者修改时,浏览器出现HTTP Status 500 - Request processing failed; nested exception is org.h ...
- JAVA入门[3]—Spring依赖注入
Spring支持属性注入和构造器注入,它支持XML和注解两种方式.本文介绍Spring控制反转容器加载包含beans的XML文件,实现依赖注入. 一.创建bean实例 暂且抛开对象依赖,我们先看下如何 ...
- 自学Zabbix3.8-可视化Visualisation
随着大量数据流入Zabbix,如果用户能够查看正在发生的事情,而不仅仅是数字,那么对于用户来说,这就变得容易得多了.这就是图的所在. 图允许快速地掌握数据流,关联问题,发现什么时候开始,或者做什么事情 ...
- iOS开发 字符串的转化 小技巧
/字典或者数组转化为nsstring NSArray *arr = [NSArray arrayWithObject:@"1"]; NSString *str = [arr JSO ...
- 【java】打印流的基本实现及java.io.PrintStream、java.io.PrintWriter示例
package 打印流; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impor ...
- iOS框架搭建(MVC,自定义TabBar)--微博搭建为例
项目搭建 1.新建一个微博的项目,去掉屏幕旋转 2.设置屏幕方向-->只有竖向 3.使用代码构建UI,不使用storyboard 4.配置图标AppIcon和LaunchImage 将微博资料的 ...
- go实例之线程池
go语言使用goroutines和channel实现一个工作池相当简单.使用goroutines开指定书目线程,通道分别传递任务和任务结果.简单的线程池代码如下: package main impor ...