我正在使用G1GC,jdk 1.7

Java HotSpot(TM) 64-Bit Server VM (24.79-b02) for linux-amd64 JRE (1.7.0_79-b15), built on Apr 10 2015 11:34:48 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8)

Memory: 4k page, physical 32826020k(12590436k free), swap 33431548k(33358800k free)

CommandLine flags: -XX:AutoBoxCacheMax=3000000 -XX:+DisableExplicitGC

-XX:G1NewSizePercent=20 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=10737418240

-XX:InitiatingHeapOccupancyPercent=70 -XX:MaxDirectMemorySize=1073741824 -XX:MaxGCPauseMillis=1000

-XX:MaxHeapSize=10737418240

-XX:-OmitStackTraceInFastThrow -XX:+PrintGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDetails

-XX:+PrintGCTimeStamps -XX:+UnlockExperimentalVMOptions

-XX:+UseCompressedOops -XX:+UseG1GC

大多数小型GC工作正常,但它仍然开始不寻常的fullGC,大约一小时一到两次.

这是年轻GC日志的正常情况

3443.100: [GC pause (young), 0.3021260 secs]

[Parallel Time: 277.6 ms, GC Workers: 4]

[GC Worker Start (ms): Min: 3443100.5, Avg: 3443100.6, Max: 3443100.6, Diff: 0.1]

[Ext Root Scanning (ms): Min: 2.9, Avg: 3.0, Max: 3.1, Diff: 0.2, Sum: 11.9]

[Update RS (ms): Min: 33.5, Avg: 33.6, Max: 33.9, Diff: 0.4, Sum: 134.5]

[Processed Buffers: Min: 180, Avg: 204.8, Max: 227, Diff: 47, Sum: 819]

[Scan RS (ms): Min: 76.0, Avg: 76.2, Max: 76.3, Diff: 0.3, Sum: 304.9]

[Code Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.3]

[Object Copy (ms): Min: 164.4, Avg: 164.4, Max: 164.5, Diff: 0.1, Sum: 657.7]

[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]

[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.0, Sum: 0.2]

[GC Worker Total (ms): Min: 277.3, Avg: 277.4, Max: 277.4, Diff: 0.1, Sum: 1109.5]

[GC Worker End (ms): Min: 3443377.9, Avg: 3443378.0, Max: 3443378.0, Diff: 0.0]

[Code Root Fixup: 0.2 ms]

[Code Root Migration: 0.3 ms]

[Clear CT: 2.0 ms]

[Other: 22.1 ms]

[Choose CSet: 0.0 ms]

[Ref Proc: 15.7 ms]

[Ref Enq: 0.5 ms]

[Free CSet: 3.2 ms]

[Eden: 5996.0M(5996.0M)->0.0B(5648.0M) Survivors: 148.0M->196.0M Heap: 8934.5M(10.0G)->2997.2M(10.0G)]

[Times: user=1.13 sys=0.00, real=0.30 secs]

这是fullGC之前的一个不寻常的GC日志.

它重复了两到三次,并没有清理任何记忆.

3482.422: [GC pause (young) (to-space exhausted), 3.4878580 secs]

[Parallel Time: 1640.5 ms, GC Workers: 4]

[GC Worker Start (ms): Min: 3482421.8, Avg: 3482422.4, Max: 3482424.0, Diff: 2.2]

[Ext Root Scanning (ms): Min: 2.1, Avg: 3.2, Max: 3.8, Diff: 1.7, Sum: 12.6]

[Update RS (ms): Min: 104.8, Avg: 105.2, Max: 105.6, Diff: 0.8, Sum: 421.0]

[Processed Buffers: Min: 201, Avg: 221.2, Max: 236, Diff: 35, Sum: 885]

[Scan RS (ms): Min: 75.1, Avg: 75.2, Max: 75.3, Diff: 0.1, Sum: 300.8]

[Code Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 0.2]

[Object Copy (ms): Min: 1455.9, Avg: 1456.1, Max: 1456.2, Diff: 0.3, Sum: 5824.2]

[Termination (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.4]

[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]

[GC Worker Total (ms): Min: 1638.2, Avg: 1639.8, Max: 1640.4, Diff: 2.2, Sum: 6559.3]

[GC Worker End (ms): Min: 3484062.2, Avg: 3484062.2, Max: 3484062.2, Diff: 0.0]

[Code Root Fixup: 0.2 ms]

[Code Root Migration: 0.5 ms]

[Clear CT: 2.0 ms]

[Other: 1844.7 ms]

[Choose CSet: 0.0 ms]

[Ref Proc: 60.1 ms]

[Ref Enq: 0.5 ms]

[Free CSet: 1.2 ms]

[Eden: 5648.0M(5648.0M)->0.0B(1876.0M) Survivors: 196.0M->172.0M Heap: 9441.9M(10.0G)->9352.3M(10.0G)]

[Times: user=9.29 sys=0.05, real=3.49 secs]

然后它开始了一个fullGC

3490.812: [Full GC 9626M->1879M(10G), 7.6059670 secs]

[Eden: 0.0B(2048.0M)->0.0B(6144.0M) Survivors: 0.0B->0.0B Heap: 9626.3M(10.0G)->1879.5M(10.0G)], [Perm: 33901K->33901K(36864K)]

[Times: user=10.24 sys=0.00, real=7.61 secs]

为什么最后一个youngGC没有清理任何内存?

java没有释放内存_java – G1年轻的GC没有释放内存 – 空间耗尽相关推荐

  1. java共享内存_Java进程通信之映像文件共享内存

    Java进程通信之映像文件共享内存 1. 共享内存 vs 进程通信 对UNIX系统来说,共享内存分为一般共享内存和映像文件共享内存两种.但windows实际上只有影像文件共享内存一种. 而说到进程通信 ...

  2. idea 设置java内存_java相关:IntelliJ IDEA设置显示内存指示器和设置内存大小的方法...

    java相关:IntelliJ IDEA设置显示内存指示器和设置内存大小的方法 发布于 2020-7-4| 复制链接 摘记: 一.设置显示内存指示器idea默认情况下,是不显示当前内存使用情况的,可以 ...

  3. JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优)

    JVM(Java虚拟机) JVM 内存模型 结构图 jdk1.8 结构图(极简) jdk1.8 结构图(简单) JVM(Java虚拟机): 是一个抽象的计算模型. 如同一台真实的机器,它有自己的指令集 ...

  4. java痴和堆_JAVA虚拟机理解 - 爱笑的痴迷者的个人空间 - OSCHINA - 中文开源技术交流社区...

    JVM定义: JVM(Java Virtual Machine),是一种运行Java程序的软件实现,是虚拟的机器.Java程序与平台无关,它直接在虚拟机中运行. JVM运行过程: JVM将内存分划如下 ...

  5. java 及时释放内存_Java 等语言的 GC 为什么不实时释放内存?

    最基本的纯引用计数方式的自动内存管理可以做到实时释放死对象,但却无法处理存在循环引用的对象图的释放.这个问题一定程度上可以通过引入弱引用的概念来解决,但通用的能处理带循环引用对象图的引用计数都是有别的 ...

  6. java eclipse 内存_java – Eclipse 3.5.1使用大量内存

    我已经迁移到Eclipse 3.5.1并且观察到它在执行清洁构建时需要560 MB.使用后内存不会被收集.它保持这样. 对此有何解决方案? JVM:jdk1.6.0_17 Windows XP, 2G ...

  7. java final的内存_Java并发编程之final域的内存语义

    一.final域的重排序规则 对于final域,编译器和处理器要遵循两个重拍序规则: 1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序 ...

  8. java释放锁_java – 一个线程在完成后释放锁吗?

    简单测试可能会显示在线程终止时未释放锁定: import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock ...

  9. Java吃CPU还是内存_Java中的CPU占用高和内存占用高的问题排查

    下面通过模拟实例分析排查Java应用程序CPU和内存占用过高的过程.如果是Java面试,这2个问题在面试过程中出现的概率很高,所以我打算在这里好好总结一下. 1.Java CPU过高的问题排查 举个例 ...

最新文章

  1. [20160910]低级错误.txt
  2. Puppet之简单安装Nginx
  3. python中一共有多少个关键字-Python 为什么会有命名关键字参数?
  4. redis 缓存过期默认时间_过期redis时间
  5. 14_pytorch.where,pytorch.gather
  6. gcc代码反汇编查看内存分布[2]: arm-linux-gcc
  7. Bash脚本教程之行操作
  8. [免费]开源制衣公司网站源程序 (三)!
  9. Numpy根据某一列进行排序
  10. C#中,两个事件的叠加,结果会如何?
  11. 减小数据泄密负面影响的办法
  12. 开源生产排程aps(Advanced Planning and Scheduling)软件介绍
  13. Lumion 9.0 动画渲染的10个技术技巧
  14. spring深入学习(十九) IOC 之 Factory 实例化 bean
  15. FACES纳新|2021春纳线上分享会等你来
  16. 4G模块SIM7600绑定AT指定串口号(二)
  17. WebStorm2016.2 注册码及激活,2018.6.14亲测有效
  18. 如何在VMware上快速安装ROS
  19. 如何查看某个网站的ip地址(根据域名怎么知道IP)
  20. 解决asp.net FileUpload控件无法获取完整路径的问题 - 无序修改浏览器参数

热门文章

  1. 一文了解 ng-template, ng-content, ng-container, 和 *ngTemplateOutlet的区别
  2. SAP云平台开启Kyma功能时发送到后台的HTTP请求
  3. 在SAP WebClient UI里使用AJAX进行异步数据读取
  4. Eclipse卸载Groovy Development tool时,为什么要去查询hana.ondemand.com的资源?
  5. SAP GUI和Windows注册表
  6. sap.ca.scfld.md.ComponentBase.extend
  7. SAP UI5 scroll down to get more
  8. How is note created - SAP backend implementation
  9. 处理SAP Netweaver gateway service使用过程中遇到的404 error
  10. 推荐一个好用的Chrome扩展应用,管理新建标签页面的