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

weblogic jvm内存设置

  • 内存
  • 2024-04-30 08:51:53
  • 7112

一、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的Startup参数中添加了如下JVM:

启动程序后打印如下日志:

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

2)查看默认参数:

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

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

3)日志GC:

以下日志是每次垃圾回收时产生的日志,日志的每一行描述了该日志的GC执行情况:

详细信息如下:

25-09-2020T13:00:41.631+0800:GC发生的时间点。
4.013:系统运行后多长时间发生GC,单位为秒这里是系统运行4.013秒后发生的GC。
GC(AllocationFailure):解释触发GC的原因这里指的是对象分配失败导致的GC。
PSYoungGen:指触发年轻代的垃圾收集,使用ParallelScavenge垃圾收集器。
419840K->20541K:GC在年轻代上进行GC之前,年轻代使用了419840KGC之后,20541K对象幸存。
(472064K):可用的年轻代空间是472064K,也就是461M,为什么是461M?由于新生代的大小为512M,Eden区占用409.6M,两个Survivor区各占用51.2M,所以年轻代可用的空间为Eden+1Survivor的大小,即460.8M,即约为461M。
419840K->20573K:GC前堆内存使用419840K,GC后堆内存使用20573K。
(996352K):总堆大小为996352K,即973M,实际上是年轻代461M+老年代512M
0.0118345sec:本次GC花费的时间。
Time:user=0.00sys=0.00,real=0.01secs:本次GC花费的时间
4)JVM退出时的GC情况:

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

详细信息如下: