我跑了一个测试程序使用下面jvm
参数XMX和GC日志数据不匹配
java -XX:+PrintGCDetails -Xloggc:gc.log Test -Xmx=1k -Xms=1k
,并得到了下面的异常
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
(添加列表,在一个无限循环的字符串)在gc日志我看到下面的集合作为最后一项
11.242: [Full GC (Allocation Failure) [PSYoungGen: 0K->0K(92160K)] [ParOldGen: 274084K->274072K(371712K)] 274084K->274072K(**463872K**), [Metaspace: 2522K->2522K(1056768K)], 3.0296130 secs] [Times: user=3.28 sys=0.00, real=3.02 secs]
如果min和max是1k堆怎么来m可用的emory显示为463872K
?
加在oracle网站
https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
我看到一张纸条,
注:-Xmx
不限制的内存,该JVM可以使用的总量。
这是什么意思?
请重新格式化您的帖子,它很难阅读 –