IDEA配置启动类的堆大小bug

今天在使用idea的时候,配置堆的大小的时候总是不起作用,然后特意复习了一下JVM的内存结构,最后发现居然是IDEA的问题。
工具:IDEA版本2020.3、jvisualvm(最好装上 visual GC,没有可以使用jdk自带的jmap -heap代替)
在这里插入图片描述
设置堆的大小为2G
在这里插入图片描述
将老年代、年轻代、s0的内存加在一起,发现根本没有2G
在这里插入图片描述
打开这行执行命令,将它复制,放在终端中执行
在这里插入图片描述
放到终端执行

/home/xxx/data/jdk1.8/bin/java /qyt/work/vmDemo/target/classes com.qyt.testDemo5 -Xms2048m

这里可以用JDK自带的jmap命令去查看内存情况,首先要将终端的目录切换到jdk/bin下

# ./jmap -heap pid
./jmap -heap 98
Attaching to process ID 11461, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.281-b09

using thread-local object allocation.
Parallel GC with 8 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 1073741824 (1024.0MB)
   NewSize                  = 22282240 (21.25MB)
   MaxNewSize               = 357826560 (341.25MB)
   OldSize                  = 44826624 (42.75MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 16777216 (16.0MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 4294963200 (4095.99609375MB)
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 17039360 (16.25MB)
   used     = 3081440 (2.938690185546875MB)
   free     = 13957920 (13.311309814453125MB)
   18.084247295673077% used
From Space:
   capacity = 2621440 (2.5MB)
   used     = 0 (0.0MB)
   free     = 2621440 (2.5MB)
   0.0% used
To Space:
   capacity = 2621440 (2.5MB)
   used     = 0 (0.0MB)
   free     = 2621440 (2.5MB)
   0.0% used
PS Old Generation
   capacity = 44826624 (42.75MB)
   used     = 0 (0.0MB)
   free     = 44826624 (42.75MB)
   0.0% used

2264 interned Strings occupying 132680 bytes.

发现将命令放到终端跑,堆的内存大小也没有变

最后将命令改成了,发现居然成功了。。。

/home/xxx/data/jdk1.8/bin/java  -Xms2048m  /qyt/work/vmDemo/target/classes com.qyt.testDemo5 

总结堆的参数要放在class文件之前,而不是之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值