当前位置:首页 > 内存 > 正文

idea修改jvm内存增大

  • 内存
  • 2024-06-06 05:34:01
  • 3738

一、IntellijIDEA怎么设置JVM内存修改ons配置文件,调整以下内容:
#增加该值可能会加快Java程序的启动速度。
-Xms256m
#设置最大内存数,降低内存库回收频率,提高程序性能
-Xmx384m
#永久代大小设置
-XX:MaxPermSize=128m
#设置年轻代和老年代的生成比例
-XX:NewRatio=4
#每个线程设置堆栈大小
-Xss128k
#IDEA仍然最小化到任务栏时占用的内存
rkingSetOnMinimize=true
#MemoryGarage模式控制
-server


二、JVM性能调优(2)——内存设置和查看GC日志

1)JVM内存分配有以下参数:

一般情况下,-Xms和-Xmx设置相同的大小,-XX:MetaspaceSize和-XX:MaxMetaspaceSize设置相同的大小。-Xms相当于-XX:InitialHeapSize,-Xmx相当于-XX:MaxHeapSize;-Xmn相当于-XX:MaxNewSize。

2)在IDEA中可以设置JVM参数,如下:

3)从命令行启动时,可以设置格式如下:

1)设置GC参数:

启动时可以添加以下参数来查看GC日志:

例如IDEA启动参数中添加如下JVM:

启动程序后,打印如下记录:

从CommandLineflags第三行可以获取以下信息:

2)显示默认参数:

如果想查看JVM默认参数,可以添加打印GC日志到JVM的参数,就可以看到默认参数GC日志中的JVM参数。

您还可以在启动参数中添加-XX:+PrintFlagsFinal参数,该参数将打印所有系统参数,您可以看到您配置的参数或系统默认参数:

3)GC日志:

以下日志是每个数据集超时期间创建的日志。日志的每一行都描述了本次GC的执行情况,例如GC日志的第四行:

详细信息如下:

2020-09-25T13:00:41.631+0800:GC发生的时间点。
4.013:系统启动后多久发生GC,单位为秒。这是系统运行4.013秒后发生的GC。
GC(AllocationFailure):描述GC被触发的原因,这里指的是对象分配失败引起的GC。
PSYoungGen:指示YoungGen垃圾收集正在使用ParallelScavenge垃圾收集器运行。
419840K->20541K:GC之前对年轻代进行了GC,GC之后年轻代使用了419840K,20541K已经存活。
(472064K):年轻一代可用的空间是472064K,也就是461M,为什么是461M呢?因为新生代的大小为512m,而Aden的面积为409.6m,两个survivor的区域各占51.2m,因此年轻代可用的面积为Aden+1个survivor的大小,是460.8m,大约是461m。
419840K->20573K:GC前使用满堆内存419840K,GC后使用堆内存20573K。
(996352K):整个堆的大小为996352K,实际上是年轻代461M+老年代512M
0.0118345秒:本次GC所花费的时间。
Times:user=0.00sys=0.00,real=0.01secs:本次GC花费的时间
4)JVM退出时的GC状态:

程序结束后,会出现一些日志被打印出来,也就是第12行,在后续的日志中,这部分显示的是当前堆内存的使用情况:

具体如下:


一、IntellijIDEA怎么设置JVM内存安装根目录\bin\ons
最小内存Xms
最大内存Xmx