java入门教程:数据类型_设置GC新生代区大小
来源 :中华考试网 2016-05-07
中设置 GC 新生代区大小
参数-Xmn 或者用于 Hot Spot 虚拟机中的参数-XX:NewSize(新生代初始大小)、-XX:MaxNewSize 用于设置新生代的大小。设置一个较大的新生代会减小老生代的大小,这个参数对系统性能以及 GC 行为有很大的影响。新生代的大小一般设置为整个堆空间的 1/4 到 1/3 左右。
以清单 9 的代码为例,若使用 JVM 参数-XX:+PrintGCDetails -Xmx11M -XX:NewSize=2M -XX:MaxNewSize=2M -verbose:gc 运行程序,将新生代的大小减小为 2MB,那么 MinorGC 次数将从 4 次增加到 9 次 (默认情况下是 3.5MB 左右)。
清单 11. 运行输出
[GC [DefNew: 1272K->150K(1856K),
0.0028101
secs]
1272K->1174K(11072K),
0.0028504
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
[GC [DefNew: 1174K->0K(1856K),
0.0018805
secs]
2198K->2198K(11072K),
0.0019097
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
clearing....
[GC [DefNew: 1076K->0K(1856K),
0.0004046
secs]
3274K->2198K(11072K),
0.0004382
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
[GC [DefNew: 1024K->0K(1856K),
0.0011834
secs]
3222K->3222K(11072K),
0.0013508
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
[GC [DefNew: 1024K->0K(1856K),
0.0012983
secs]
4246K->4246K(11072K),
0.0013299
secs] [Times: user=
0.01
sys=
0.00
, real=
0.00
secs]
clearing....
[GC [DefNew: 1024K->0K(1856K),
0.0001441
secs]
5270K->4246K(11072K),
0.0001686
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
[GC [DefNew: 1024K->0K(1856K),
0.0012028
secs]
5270K->5270K(11072K),
0.0012328
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
[GC [DefNew: 1024K->0K(1856K),
0.0012553
secs]
6294K->6294K(11072K),
0.0012845
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
clearing....
[GC [DefNew: 1024K->0K(1856K),
0.0001524
secs]
7318K->6294K(11072K),
0.0001780
secs] [Times: user=
0.00
sys=
0.00
, real=
0.00
secs]
Heap
def
new
generation total 1856K, used 1057K [
0x36410000
,
0x36610000
,
0x36610000
)
eden space 1664K,
63
% used [
0x36410000
,
0x365185a0
,
0x365b0000
)
from space 192K,
0
% used [
0x365e0000
,
0x365e0088
,
0x36610000
)
to space 192K,
0
% used [
0x365b0000
,
0x365b0000
,
0x365e0000
)
tenured generation total 9216K, used 6294K [
0x36610000
,
0x36f10000
,
0x37010000
)
the space 9216K,
68
% used [
0x36610000
,
0x36c35868
,
0x36c35a00
,
0x36f10000
)
compacting perm gen total 12288K, used 375K [
0x37010000
,
0x37c10000
,
0x3b010000
)
the space 12288K,
3
% used [
0x37010000
,
0x3706dc88
,
0x3706de00
,
0x37c10000
)
ro space 10240K,
51
% used [
0x3b010000
,
0x3b543000
,
0x3b543000
,
0x3ba10000
)
rw space 12288K,
55
% used [
0x3ba10000
,
0x3c0ae4f8
,
0x3c0ae600
,
0x3c610000
)