idea 项目启动慢,报内存溢出,调整jvm参数

news/2024/11/9 16:45:26/

idea 项目启动慢,直接报内存溢出了

java: java.lang.OutOfMemoryError: Java heap space

jvm_5">解决方案:调整 idea jvm参数

在IntelliJ IDEA中,可以通过以下步骤来全局设置Java堆大小:

  1. 打开IntelliJ IDEA。
  2. 从菜单栏选择 “Help” > “Edit Custom VM Options…”。如果这是第一次访问,IDEA会提示你创建一个新的配置文件。
  3. 在打开的idea.vmoptions文件中,你可以添加或修改JVM的堆内存设置。例如,增加最大堆内存到1024MB,可以添加以下行:
    -Xmx1024m
    
  4. 保存文件并重启IntelliJ IDEA以使更改生效。

这样设置后,所有通过IntelliJ IDEA启动的Java应用都会使用这个堆内存设置。

请注意,这个设置是针对IDEA及其启动的Java应用的全局设置。如果你需要为特定项目或运行配置设置不同的堆内存大小,你应该在该项目或运行配置的VM选项中单独设置。

我的idea.vmoptions配置:

java">-Xms128m
-Xmx5120m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dapple.laf.useScreenMenuBar=false

调整后:

java">-Xms1025m
-Xmx5120m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=6
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
-Dapple.laf.useScreenMenuBar=false

-Xms1025m 堆初始化大小
-Xmx5120m 堆最大容量
-XX:CICompilerCount=6 编译器线程数,原来设置了两个编译器线程,这可能不足以充分利用多核CPU的能力。如果机器CPU核心较多,可以考虑增加编译器线程数,以加快编译速度。


http://www.ppmy.cn/news/1516207.html

相关文章

Transformer模型、强化学习、深度学习模型可解释性与可视化方法、注意力机制、目标检测算法、图神经网络、强化学习

近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。 抽丝剥茧、深入浅出讲解注意力机制、Transformer模型(BERT、GPT-1/2/…

Servlet---Web会话跟踪 ▎token令牌

▍为什么要进行Web会话跟踪? http请求是无状态的,不携带用户信息的,当用户登录成功后,之后在于服务器交互时,服务器并不知道是哪个用户发送的请求 ▍Web会话跟踪 解决方法:在用户成功登录后,后端向前端响应token令牌(token令牌:用户信息),前端保存token令牌每次访问后端都先…

RabbitMQ如何保证消息不丢失

RabbitMQ消息丢失的三种情况 第一种:生产者弄丢了数据。生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。 第二种:RabbitMQ 弄丢了数据。MQ还没有持久化自己挂了。 第三种…

C++类和对象(总篇)

文章目录 C类和对象1、类的定义1.1类定义格式1.2访问限定符1.3类域 2、实例化2.1实例化概念 3、this指针4、类的默认成员函数5、构造函数5.1构造函数的特点5.2实例分析 6、析构函数6.1析构函数的特点6.2实例分析 7、拷贝构造函数7.1 拷贝构造函数的特点7.2实例分析7.3浅拷贝和深…

【linux中高级命令】

杀进程 1、lsof列出所有打开的文件,‌包括网络连接,‌从而提供关于系统状态的宝贵信息‌ #可以直接查看端口的进程 lsof -i:端口获取到进程,使用kill命令和PID来终止进程 kill -9 [PID]2、列出使用该端口的进程信息,‌包括PID …

基于Python的mediapipe和opencv的人体骨骼、人体姿态关键点的实时跟踪项目

随着计算机视觉技术的发展,人体姿态估计在虚拟现实、运动分析、人机交互等领域得到了广泛应用。传统的姿态估计方法通常依赖于深度学习模型,需要大量的计算资源。而 Google 开发的 MediaPipe 框架则提供了高效且易于使用的解决方案,它可以在各…

如何解决git@github.com: Permission denied (publickey)异常

如何解决gitgithub.com: Permission denied异常 一、错误信息描述二、解决办法2.1、获取本地SSH Key2.2、将本地的SSH Key添加到github 一、错误信息描述 gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you …

LlamaIndex 实现 RAG(四)- RAG 跟踪监控

RAG 整个流程不复杂,集成三大部分包括文档解析并生成向量、根据查询问题查找语意相似的数据文档块、把查询问题和召回文档作为上下文的数据传给模型进行解答。大语言模型的应用开发和传统的开发方式区别很大,以前开发完成,只要逻辑正确&#…