JVM内存调优记录

  java内存的自动管理,解决了给对象分配内存和回收分配给对象的内存。
大对象直接进入老年代,可以使用-XX:PretenureSizeThreshold参数设置,大对象的最大值,例如:-XX:PretenureSizeThreshold=3145728,超过3M的对象直接进入老年区。
IBM的研究表明,新生代中对象98%是朝生夕死的,如果按照1:1的比例划分,会降低内存的利用率,可以将新生代的内存划分为一块较大的Eden和两块较小的Survior区,比例默认为8:1:1
这样利用率为90%,每次使用Eden和其中一块Survior,当回收完时,如果Eden和Survior区还存在存活的对象,就一次性的全部拷贝到另外一块Survior区,最后清理掉Eden和刚刚用过的
Survior区,如果另外一块Survior区内存不够的时候,就需要依赖其他内存(老年区的内存)
1)JVM参数 -Djava.library.path=./lib -Xms256M -Xmx256M -XX:+PrintGCDetails 服务器(10.4.120.121)
   打印出的日志
   NOTICE - file:/E:/cc/hz08744_dev_nbi/Orange/prj/build/classes/com/utstar/omco/main/Main.class
[GC [DefNew: 69952K->1953K(78656K), 0.0079673 secs] 69952K->1953K(253440K), 0.0080031 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
webstart check
false

initrd...
 Login:.
[GC [DefNew: 55780K->5347K(78656K), 0.0180487 secs] 55780K->5347K(253440K), 0.0180940 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
[GC [DefNew: 75299K->3617K(78656K), 0.0336808 secs] 75299K->25453K(253440K), 0.0337267 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
[GC [DefNew: 73569K->5040K(78656K), 0.0181208 secs] 95405K->26877K(253440K), 0.0181647 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
[GC [DefNew: 74992K->4751K(78656K), 0.0251681 secs] 96829K->29502K(253440K), 0.0252107 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
[GC [DefNew: 74703K->3610K(78656K), 0.0167646 secs] 99454K->30171K(253440K), 0.0168205 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
[GC [DefNew: 73562K->4405K(78656K), 0.0113504 secs] 100123K->30966K(253440K), 0.0114531 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC [DefNew: 74357K->1752K(78656K), 0.0109753 secs] 100918K->31096K(253440K), 0.0110344 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC [DefNew: 71704K->1929K(78656K), 0.0056460 secs] 101048K->31274K(253440K), 0.0056879 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC [DefNew: 71881K->2618K(78656K), 0.0076565 secs] 101226K->31963K(253440K), 0.0077010 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[GC [DefNew: 72570K->3003K(78656K), 0.0084164 secs] 101915K->32348K(253440K), 0.0084561 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
[GC [DefNew: 72955K->3195K(78656K), 0.0109871 secs] 102300K->32539K(253440K), 0.0110306 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
[GC [DefNew: 73147K->4801K(78656K), 0.0116500 secs] 102491K->34146K(253440K), 0.0117118 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1118\s=19 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1118\s=26 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1118\s=28 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1118\s=35 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1207\s=19 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.520 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1207\s=26 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1207\s=28 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1207\s=35 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1277\s=19 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1277\s=26 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1277\s=28 key=s spec=T1SlotSvc24.V8 name= alm={0,0,0,0,0}{0,0,0,0,0}
12-06 14:47:42.551 ERROR [MitClientMod.java:700] localAddNode failed:fid=\e=1277\s=35 key=s spec=T1SlotJMP1T63.V0 name= alm={0,0,0,0,0}{0,0,0,0,0}
[GC [DefNew: 74753K->8704K(78656K), 0.0361043 secs] 104098K->40339K(253440K), 0.0361473 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
Calculate alarm summary of  6696 MOs cost 341 ms
[GC [DefNew: 78656K->334K(78656K), 0.0244156 secs] 110291K->40414K(253440K), 0.0244679 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
[GC [DefNew: 70286K->515K(78656K), 0.0032695 secs] 110366K->40595K(253440K), 0.0033057 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
LspResourceCache is ready : Fri Dec 06 14:47:46 CST 2013
PwResourceCache is ready : Fri Dec 06 14:47:46 CST 2013
WDMPORTMAP Cache is ready : Fri Dec 06 14:47:47 CST 2013
NMLFaultResourceCache is ready : Fri Dec 06 14:47:47 CST 2013
EMLFaultResourceCache is ready : Fri Dec 06 14:47:47 CST 2013
Name Cache is ready : Fri Dec 06 14:47:47 CST 2013
[GC [DefNew: 70467K->6233K(78656K), 0.0185638 secs] 110547K->46313K(253440K), 0.0186287 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
[GC [DefNew: 76185K->842K(78656K), 0.0180233 secs] 116265K->46745K(253440K), 0.0180807 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
[Full GC [Tenured: 45902K->50963K(174784K), 0.1074688 secs] 74371K->50963K(253440K), [Perm : 16383K->16383K(16384K)], 0.1075292 secs] [Times: user=0.11 sys=0.00, real=0.11 secs]
[Full GC [Tenured: 50963K->55266K(174784K), 0.1237690 secs] 87095K->55266K(253440K), [Perm : 20479K->20479K(20480K)], 0.1238359 secs] [Times: user=0.13 sys=0.00, real=0.12 secs]
Heap
 def new generation   total 78656K, used 68191K [0x02c40000, 0x08190000, 0x08190000)
  eden space 69952K,  97% used [0x02c40000, 0x06ed7e60, 0x07090000)
  from space 8704K,   0% used [0x07090000, 0x07090000, 0x07910000)
  to   space 8704K,   0% used [0x07910000, 0x07910000, 0x08190000)
 tenured generation   total 174784K, used 55266K [0x08190000, 0x12c40000, 0x12c40000)
   the space 174784K,  31% used [0x08190000, 0x0b7889b0, 0x0b788a00, 0x12c40000)
 compacting perm gen  total 21504K, used 21398K [0x12c40000, 0x14140000, 0x16c40000)
   the space 21504K,  99% used [0x12c40000, 0x14125ad8, 0x14125c00, 0x14140000)
No shared spaces configured.
2)JVM参数 -Djava.library.path=./lib -Xms512M -Xmx512M -XX:+PrintGCDetails 服务器(10.4.120.121)
使用这个JVM参数,堆内存使用量维持在125M左右,堆内存一直在上升,当堆内存使用达到200M的时候,就会进行一次MinorGC,Eden向Survior区复制,由于客户端的JDK新生代的收集器默认
使用的是Serial新生代收集器(使用复制算法,暂停所有的用户线程)。
这个就符合JVM内存分配的原则:大多数情况,对象会在新生代的Eden区分配,当Eden区没有足够的空间,执行一次MinorGC
   NOTICE - file:/E:/cc/hz08744_dev_nbi/Orange/prj/build/classes/com/utstar/omco/main/Main.class
webstart check
false

initrd...
 Login:.
[GC [DefNew: 139776K->4728K(157248K), 0.0196050 secs] 139776K->4728K(506816K), 0.0196603 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
[GC [DefNew: 144504K->6030K(157248K), 0.0445373 secs] 144504K->26510K(506816K), 0.0445782 secs] [Times: user=0.01 sys=0.03, real=0.05 secs]
[GC [DefNew: 145806K->9388K(157248K), 0.0346395 secs] 166286K->29868K(506816K), 0.0346800 secs] [Times: user=0.02 sys=0.02, real=0.03 secs]
[GC [DefNew: 149164K->7423K(157248K), 0.0315490 secs] 169644K->31082K(506816K), 0.0315958 secs] [Times: user=0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构随笔录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值