`
郑云飞
  • 浏览: 821521 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决idea开启多个窗口内存溢出的问题

 
阅读更多

最近使用Intellij idea开发的时候,经常遇到内存被占满,导致异常卡顿,一开始总以为是自己程序内存泄露,后面发现即使不启动自己的项目,只是单纯的开发,依然会出现内存占满甚至溢出的情况。

最后,实在受不了,在各大技术网站上搜罗相关文章,都说修改Intellij idea默认的vm配置文件即可增大使用内存,比如,将bin目录下的idea.exe.vmoptions文件内由
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=150m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
修改为
-server
-Xms128m
-Xmx1024m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=150m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
当然,这需要你有足够多的内存,但是实际情况证明(如果你的系统是64bit的,在安装后bin目录下会有idea.exe和idea64.exe,而快捷方式默认指向idea.exe),如果修改了默认的512m,修改后第一次启动确实会生效,但是启动完毕之后就会自动替换为之前的配置,尝试了很多次(包括重装Intellij idea),都是一样的问题,最近无意间试了试启动64bit的idea64.exe,发现内存默认是750m,修改为更大的,再次启动,发现依然正常,不会替换还原为750m,尝试多次后决定把快捷方式指向idea64.exe,最终解决了我的问题。

当然,长时间运行还是会越来越多内存占用,但至少开着Intellij idea一整天是不会出现内存溢出导致假死了。

另外提一点就是,这里idea64.exe必须条件不仅仅是需要系统为64bit,你还得同时安装了64bit的jdk,这样才能正常使用,至于32bit的系统,遇到内存占满以及溢出的情况,就依然尝试修改上面提示内容即可(记得在公司好像是32bit的系统,也不经常出现内存占满),个人猜想,可能Intellij idea检测到系统为64bit,就建议安装64bit的jdk,然后使用64bit的Intellij idea引导来启动,但仅为猜测,由于英文水平有限,很多文章没有心情去细看,尚不清楚具体产生原因,或者Intellij idea效果本来就是如此,大家如果有了解到更深层级的原因及避免方案,还原指教。

分享到:
评论

相关推荐

    idea引入aspose-words-15.8.0,idea引入外部jar方法

    - 使用Aspose.Words处理大型文档时,需要注意内存管理和性能优化,避免内存溢出。例如,合理使用流式操作,及时释放不必要的对象。 9. **异常处理** - 在使用Aspose.Words进行文件操作时,应妥善处理可能出现的IO...

    弹出窗口出错

    在IT领域,"弹出窗口出错"是一个常见的问题,可能涉及到用户界面(UI)设计、编程错误或者系统兼容性等多个方面。以下是一些相关的知识点: 1. **弹出窗口**:在计算机软件中,弹出窗口是一种临时显示信息或交互...

    idea便捷配置.docx

    在编译大型项目时,可能会遇到内存溢出的问题。为了避免这种情况,可以在`File` -> `Settings` -> `Build, Execution, Deployment` -> `Compiler`中调整编译过程的堆大小,以适应项目的规模。 对于序列化接口的使用...

    IntelliJ快捷键.md

    9. **-XX:+HeapDumpOnOutOfMemoryError**: 当发生内存溢出错误时,自动生成堆转储文件。 10. **-XX:-OmitStackTraceInFastThrow**: 在快速抛出异常时不省略堆栈跟踪。 #### 查询快捷键 对于开发人员来说,高效地...

    java写的小程序五子棋

    在Java编程语言中,开发一个五子棋小程序涉及到多个核心知识点。下面将详细解析这些关键概念和步骤: 1. **基础语法与环境搭建**:Java是面向对象的编程语言,编写程序前需安装JDK(Java Development Kit)并设置...

    eclipse的基本使用

    - **内存设置**:调整Eclipse的初始和最大内存分配,避免启动慢或内存溢出。 - **启动时加载项目**:只加载需要的项目,减少启动时间。 - **禁用无用插件**:不必要的插件会消耗系统资源,关闭它们可提升性能。 ...

    对日软件工程师IT日语

    【对日软件工程师IT日语】是针对日本市场进行软件开发的专业术语集合,涉及到计算机科学和技术的多个领域。以下是一些关键概念的详细解释: 1. **アーキテクチャー (Architecture)**:架构是指软件系统的设计结构,...

Global site tag (gtag.js) - Google Analytics