Eclipse启动的gc日志,堆内存不仅自动增加还能自动减少?
博客专区 > RegnoiX 的博客 > 博客详情
Eclipse启动的gc日志,堆内存不仅自动增加还能自动减少?
RegnoiX 发表于4年前
Eclipse启动的gc日志,堆内存不仅自动增加还能自动减少?
  • 发表于 4年前
  • 阅读 450
  • 收藏 7
  • 点赞 0
  • 评论 0
摘要: 读《深入理解java虚拟机》的时候做了eclipse启动的实验,发现堆内存貌似不是单调递增的,记录一下

gc.log


3.996: [GC [PSYoungGen: 98304K->16368K(114688K)] 98304K->27356K(507904K), 0.0315483 secs] [Times: user=0.09 sys=0.00, real=0.03 secs] 
6.089: [GC [PSYoungGen: 114672K->16352K(114688K)] 125667K->51207K(507904K), 0.0396634 secs] [Times: user=0.17 sys=0.01, real=0.04 secs] 
7.727: [GC [PSYoungGen: 114656K->16353K(114688K)] 149516K->71522K(507904K), 0.0426064 secs] [Times: user=0.16 sys=0.03, real=0.04 secs] 
10.408: [GC [PSYoungGen: 114657K->16373K(114688K)] 169826K->85438K(507904K), 0.0403047 secs] [Times: user=0.14 sys=0.00, real=0.04 secs] 
12.063: [GC [PSYoungGen: 114677K->16372K(114688K)] 183742K->101371K(507904K), 0.0414270 secs] [Times: user=0.19 sys=0.00, real=0.04 secs] 
14.456: [GC [PSYoungGen: 114676K->16383K(65024K)] 199675K->120868K(458240K), 0.0512002 secs] [Times: user=0.22 sys=0.02, real=0.05 secs] 
15.498: [GC [PSYoungGen: 64974K->12490K(61184K)] 169459K->127252K(454400K), 0.0386737 secs] [Times: user=0.16 sys=0.03, real=0.04 secs] 
16.279: [GC [PSYoungGen: 61130K->11243K(87424K)] 175892K->128380K(480640K), 0.0178391 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
17.203: [GC [PSYoungGen: 55019K->8729K(87424K)] 172156K->129665K(480640K), 0.0145089 secs] [Times: user=0.02 sys=0.00, real=0.01 secs] 
17.748: [GC [PSYoungGen: 52505K->8629K(87424K)] 173441K->133725K(480640K), 0.0152372 secs] [Times: user=0.02 sys=0.00, real=0.02 secs] 
18.435: [GC [PSYoungGen: 52405K->2950K(87424K)] 177501K->133082K(480640K), 0.0153686 secs] [Times: user=0.03 sys=0.00, real=0.01 secs] 
19.846: [GC [PSYoungGen: 46726K->9809K(87424K)] 176858K->141345K(480640K), 0.0143365 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
20.921: [GC [PSYoungGen: 53585K->8578K(87424K)] 185121K->145088K(480640K), 0.0180275 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
22.281: [GC [PSYoungGen: 52354K->4396K(87424K)] 188864K->146179K(480640K), 0.0157610 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
24.002: [GC [PSYoungGen: 48172K->2738K(87424K)] 189955K->147417K(480640K), 0.0155340 secs] [Times: user=0.03 sys=0.00, real=0.02 secs] 
26.701: [GC [PSYoungGen: 46514K->2170K(87424K)] 191193K->147820K(480640K), 0.0103923 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 
27.697: [GC [PSYoungGen: 45946K->3722K(87424K)] 191596K->150562K(480640K), 0.0098434 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 
28.452: [GC [PSYoungGen: 47498K->3404K(87424K)] 194338K->153145K(480640K), 0.0297572 secs] [Times: user=0.09 sys=0.00, real=0.03 secs] 
32.908: [GC [PSYoungGen: 47180K->2715K(87424K)] 196921K->155081K(480640K), 0.0222870 secs] [Times: user=0.06 sys=0.00, real=0.02 secs] 
Heap
 PSYoungGen      total 87424K, used 8733K [0x00000000f8000000, 0x0000000100000000, 0x0000000100000000)
  eden space 43776K, 13% used [0x00000000f8000000,0x00000000f85e0480,0x00000000faac0000)
  from space 43648K, 6% used [0x00000000faac0000,0x00000000fad66fc0,0x00000000fd560000)
  to   space 43648K, 0% used [0x00000000fd560000,0x00000000fd560000,0x0000000100000000)
 ParOldGen       total 393216K, used 152365K [0x00000000e0000000, 0x00000000f8000000, 0x00000000f8000000)
  object space 393216K, 38% used [0x00000000e0000000,0x00000000e94cb7c8,0x00000000f8000000)
 PSPermGen       total 262144K, used 98809K [0x00000000d0000000, 0x00000000e0000000, 0x00000000e0000000)
  object space 262144K, 37% used [0x00000000d0000000,0x00000000d607e7a8,0x00000000e0000000)



eclipse.ini



-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx512m
-Xmn128m
-XX:PermSize=256m
-XX:MaxPermSize=256m
-Dcom.sun.management.jmxremote
-Xverify:none
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:D:/gc.log

总结一下

默认采用了Parallel Scavenge 和Parallel Old 收集器

-XX:PermSize=256m
-XX:MaxPermSize=256m

PermSize 的两个参数的设置顺序如果错了的话就不起作用了。

堆内存年轻带的空间先减小后又增大,老年代的空间大小没变化。

以后还需要换个收集器试一下






标签: Java
共有 人打赏支持
粉丝 4
博文 3
码字总数 1002
×
RegnoiX
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: