`
echohfut
  • 浏览: 232151 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Eclipse GC log

 
阅读更多

为了查看Eclipse GC log,需要在eclipse.ini 中加入

 

 

-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log

 

 

在Eclipse安装目录查看gc.log

 

9.768: [Full GC 9.769: [Tenured: 7678K->9025K(27328K), 0.3117731 secs] 9172K->9025K(39616K), [Perm : 16383K->16383K(16384K)], 0.3122537 secs]

 

从上面的日志看似有perm 区(16384K)满引起的Full GC, 需要增大perm区空间和初始空间

 

 

-XX:PermSize=64m
-XX:MaxPermSize=64m

 

 在重启Eclipse有如下log

 

 

1.338: [GC 1.338: [DefNew: 10944K->1028K(12288K), 0.0223470 secs] 10944K->1028K(39616K), 0.0224436 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] 

2.053: [GC 2.053: [DefNew: 11972K->434K(12288K), 0.0159322 secs] 11972K->1431K(39616K), 0.0161071 secs] [Times: user=0.01 sys=0.00, real=0.02 secs] 

2.923: [GC 2.923: [DefNew: 11378K->1048K(12288K), 0.0192125 secs] 12375K->2044K(39616K), 0.0193916 secs]

 

 

貌似初始yong 区空间小了引起yong GC,让初始堆空间跟最大堆空间一样大(yong区应该也会按比例增大吧),GC消除了。

 

最终eclipse.ini如下

 

 

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms384m
-Xmx384m
-XX:PermSize=64m
-XX:MaxPermSize=64m
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log

 

 

 

有趣的是关掉Eclipse会看到如下的log

 

 

20.639: [GC 20.639: [DefNew: 104960K->12258K(118016K), 0.2109056 secs] 104960K->12258K(380160K), 0.2110277 secs] [Times: user=0.20 sys=0.00, real=0.20 secs] 

31.909: [GC 31.909: [DefNew: 117218K->7351K(118016K), 0.2577353 secs] 117218K->19392K(380160K), 0.2578431 secs] [Times: user=0.24 sys=0.00, real=0.25 secs] 

Heap

 def new generation   total 118016K, used 37344K [0x02b00000, 0x0ab00000, 0x0ab00000)

  eden space 104960K,  28% used [0x02b00000, 0x0484a4c0, 0x09180000)

  from space 13056K,  56% used [0x09180000, 0x098add90, 0x09e40000)

  to   space 13056K,   0% used [0x09e40000, 0x09e40000, 0x0ab00000)

 tenured generation   total 262144K, used 12041K [0x0ab00000, 0x1ab00000, 0x1ab00000)

   the space 262144K,   4% used [0x0ab00000, 0x0b6c25c0, 0x0b6c2600, 0x1ab00000)

 compacting perm gen  total 65536K, used 36982K [0x1ab00000, 0x1eb00000, 0x1eb00000)

   the space 65536K,  56% used [0x1ab00000, 0x1cf1d8e0, 0x1cf1da00, 0x1eb00000)

No shared spaces configured.



1:是什么触发了yong GC?关Eclipse时需要创建对象引起GC释放更多的对象?
2: Yong 区空间118016K + tenured 空间262144K = 380160K, 这约等于我们Xms/Xmx设置的空间。所以xms/xmx大小不包括perm区空间

 

分享到:
评论

相关推荐

    eclipse配置优化

    - `-verbose:gc` 和 `-Xloggc:gc.log`:启用详细垃圾回收日志,并指定日志文件路径,这对于监控和调优JVM行为非常有用。 2. **Eclipse 配置文件优化**: - 打开Eclipse的安装目录,找到 `eclipse.ini` 文件进行...

    android下如何调试程序,Eclipse使用DDMS

    - **LogCat窗口**:用于监视Android日志控制台(LogCat),可以查看由Log.i()、Log.e()等方法产生的日志消息。 - **进程管理**:可以查看进程的堆和线程信息,终止进程,触发垃圾回收(GC)等。 - **屏幕截图**:使用...

    gc viewer_1.3.4

    这个工具只能在1.5以下的版本中运行,1.6以后没有对应。这个工具是根据JVM的GC执行的log来视图化的. 需要再eclipse 配置里添加: -Xloggc:D:/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps

    eclipse 启动时间

    2. **缓存清理**:定期清理.metadata\.log和.metadata\.plugins目录下的临时文件,可以避免因缓存过大导致的启动缓慢。 3. **工作空间优化**:尝试使用不同的工作空间,或者减小工作空间内项目的数量,以减少加载...

    Java学习之Reference、Eclipse调优、jvisualvm使用

    软引用和弱引用则用于在内存不足时进行精细化的内存管理,它们在GC时会被自动清理,以避免内存溢出。虚引用则更特殊,它不直接指向对象,而是用于对象的finalize()方法执行后进行清理工作。 "Eclipse调优"是提升...

    学习tomcat的内存泄漏

    verbosegc,将GC输出到gc.log文件中 java -verbose:gc -Xloggc:gc.log -XX:+ PrintGCDetails -jar Learn-tomcat-memory-leak-0.0.1-SNAPSHOT.jar 使用jstat命令观察GC的过程 jstat -gc 94223 2000 1000 通过GC...

    深入探索Android内存优化1

    包括top,dumpsys meminfo,LeakInspector,JHat,GC Log等,这些工具可以帮助开发者监测和分析内存使用情况。 九、内存问题总结 列出了如内类,Handler,系统服务,图片资源管理等方面可能出现的内存问题,并提供...

    Java项目开发积累.doc

    - **代码性能分析**:使用JVisualVM或VisualGC等工具监控和分析Java应用的内存使用、CPU消耗等。 10. **部署与运行环境**: - **Tomcat或Jetty服务器**:Java Web项目通常需要在Web服务器上运行,如Apache Tomcat...

    JAVA常用配置

    Java虚拟机(JVM)参数如堆大小(`-Xms`,`-Xmx`),垃圾收集器(`-XX:+UseG1GC`),以及其他性能相关的选项,可以显著影响应用性能。 10. **国际化与本地化**: 使用`ResourceBundle`处理多语言支持,通过`...

    weblogic dump 学习

    - 垃圾回收log:记录GC活动的日志。 - domain_name.log:域日志。 - jms.messages.log:JMS消息日志。 ### 3. 启动脚本与配置参数文件的获取 获取WebLogic的启动脚本和配置参数文件对于了解服务器的配置和定制化...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    2. 使用外部工具:例如使用 Eclipse 的 Memory Analyzer Tool (MAT) 工具来分析程序的内存使用情况。 结论 Java.lang.OutOfMemoryError: Java heap space 是一种常见的 Java 错误,解决该问题需要从多方面入手,...

    java平台故障分析与诊断

    日志框架如Log4j、Logback和SLF4J可以帮助我们管理和格式化日志输出。 2. **性能监控**:Java平台提供了JMX(Java Management Extensions)来监控应用程序的性能指标,如CPU使用率、内存占用、线程状态等。此外,...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    log4j logback commong logging jdk logger 测试框架 测试框架 junit easymock testng mockito bug管理 禅道 jira 开发工具 编程工具 eclipse myeclipse idea vi VS webstorm sublime text ...

    性能测试指标及常用监控工具

    4. **JMap**:配合eclipse插件或MemoryAnalyzer检测内存泄漏。 5. **JProfiler**:提供全面的系统监控,包括CPU、内存和线程等。 6. **Nmon**:全面监控Linux系统资源,适合系统级别的性能分析。 7. **Valgrind**:...

    myeclise 7.5优化.rar

    同时,启用G1垃圾收集器(-XX:+UseG1GC)以改善内存管理。 2. **插件管理**:MyEclipse中包含许多插件,但并非所有插件都适用于每个项目。关闭不使用的插件可以减少内存占用。通过"Window" -> "Preferences" -> ...

    IOTGate-master.zip

    1. 开发环境:通常使用Java IDE如IntelliJ IDEA或Eclipse,配合Maven进行项目构建。 2. 编译与运行:通过Maven的`mvn clean install`命令编译项目,然后启动主类运行网关服务。 3. 配置与调试:修改配置文件以适应...

    OutOfMemoryError.docx

    使用IBMHeapAnalyzer工具分析heapdump文件,发现名为org/eclipse/osgi/framework/log/FrameworkLogEntry的对象占用了近1.3GB的堆内存,远超JVM的最大堆内存1536MB,这是引发问题的直接原因。 深入分析: 1. **OSGI...

    Java代码实现数据处理共4页.pdf.zip

    10. **性能优化**:Java的性能优化涉及到内存管理(如理解GC机制)、避免阻塞操作、减少对象创建等,这需要对JVM的工作原理有一定了解。 这个压缩包中的"赚钱项目"可能是具体的数据处理项目实例,可能涵盖了上述...

Global site tag (gtag.js) - Google Analytics