`
aol_aog
  • 浏览: 16758 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

JVM调优问题记录2

 
阅读更多

在华为项目中,之前我用的是JDK默认的GC收集器,初始上线数据量不大时没有问题,后来修改为:-XX:+UseConcMarkSweepGC,当时把-Xmn这个新生代的内存设置去掉了,也没有在启动后查看其新生代内存大小,结果一天后就报错了,我的JVM 内存设置为:

-server -Xms4096m -Xmx16000m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC,

但是用jstat -heap pid 输出结果为:

Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 16777216000 (16000.0MB)
NewSize = 697892864 (665.5625MB)
MaxNewSize = 697892864 (665.5625MB)
OldSize = 1395851264 (1331.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 268435456 (256.0MB)
MaxPermSize = 536870912 (512.0MB)
G1HeapRegionSize = 0 (0.0MB)


Heap Usage:
New Generation (Eden + 1 Survivor Space):
capacity = 628162560 (599.0625MB)
used = 347078104 (330.99947357177734MB)
free = 281084456 (268.06302642822266MB)
55.25291160300926% used
Eden Space:
capacity = 558432256 (532.5625MB)
used = 338771848 (323.07801055908203MB)
free = 219660408 (209.48448944091797MB)
60.664806583092506% used
From Space:
capacity = 69730304 (66.5MB)
used = 8306256 (7.9214630126953125MB)
free = 61424048 (58.57853698730469MB)
11.911974455180921% used
To Space:
capacity = 69730304 (66.5MB)
used = 0 (0.0MB)
free = 69730304 (66.5MB)
0.0% used
concurrent mark-sweep generation:
capacity = 7884152832 (7518.9140625MB)
used = 5756140000 (5489.482879638672MB)
free = 2128012832 (2029.4311828613281MB)
73.00898552647438% used
Perm Generation:
capacity = 268435456 (256.0MB)
used = 99056544 (94.46768188476562MB)
free = 169378912 (161.53231811523438MB)
36.90143823623657% used

其中new size这项明显跟NewRatio = 2的设置不相符,结过大量的测试发现,由于设置了-XX:+UseConcMarkSweepGC,不知什么原因使NewRatio = 2的默认设置不生效,所以在设置并发GC后,必须要设置:-Xmn这个新生代的设置。

之后设置完毕后,重启后new size的大小就正常了,经验啊。

系统环境:

Redhat 6.5 64位,jdk1.7_51 64位

硬件配置:8C 32G, 200G

分享到:
评论

相关推荐

    spring 微服务相关框架学习。以及记录 jvm 调优 数据监控 并发控制-spring-frame.zip

    spring 微服务相关框架学习。以及记录 jvm 调优 数据监控 并发控制-spring-frame

    高级开发jvm面试题和答案.pdf

    jvm调优; 对象 对象的创建过程; 对象在内存中的存储布局; 对象头markword具体有什么: 对象的怎么定位,怎么通过引用找到他,有两个方法; 对象分配内存空间过程; 对象的浅克隆和深克隆; 类加载 类加载过程(类...

    记录java.lang.OutOfMemoryErrorJava heap space的情况.docx

    记录java.lang.OutOfMemoryError:Java heap space的情况 文章内容: 一.问题描述+原因分析+解决方案 二.JVM调优说明 三.Tomcat添加到jvisualvm监控

    Weblogic Portal应用环境调优

    Weblogic Portal应用环境调优,本文介绍如下: 一、 修改操作系统文件句柄大小 1 二、 调整JVM启动内存 1 三、 关闭默认搜索引擎 1 四、 数据库连接池调整最佳实践 2 五、 调整TCP接受预备连接数 4 六、 修改日志...

    2019互联网大厂高频重点面试题 (第2季)脑图-完结.txt

    本人吐血整理,git部分未记录(尚硅谷周阳老师的视频脑图) 本期内容包括JUC多线程并发、JVM和GC等...下半场,逐步过渡到JVM和GC的知识,深度讲解多种常见OOM异常和JVM参数调优,以及串行并行并发G1等各种垃圾收集等

    一线大厂腾讯java面试题

    这份腾讯Java面试题汇总了腾讯一线技术面试中经常出现的题目,涵盖了Java基础、多线程、集合类、网络编程、JVM调优、Spring框架、分布式系统等多个方面。通过这份面试题,可以帮助求职者更好地准备腾讯的面试,提高...

    疯狂的java讲义源码-JavaEE-Study-Notes:用于记录JavaEE学习过程中的笔记

    用于记录 JavaEE 学习过程中的笔记 知识点预览(个人学习要求) 1.1 JavaSE 基础部分: 1.2 FrontEnd 前端部分: 1.3 Database 数据库部分: 1.4 JavaWeb: JSP/Servlet 部分: 1.5 SSH、SSM 框架部分: 1.6 系统...

    java诊断与调优常用命令jmap、jstack、jstat使用实战.pdf

    原因:windows权限问题,在 Windows系统中,每个 java 进程启动之后都在 %TMP%/hsperfdata_${user} (${user}为当前登录用户名) 目录下建立一个以该 java 进程 pid 为文件名的文件,用以记录该 java 进程的一些信息。

    TProfiler_1.0.1

    它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用...

    SpringBoot新手学习手册

    SpringBoot JVM参数调优 44 十一、 2.0版本新特性 45 以Java 8 为基准 45 内嵌容器包结构调整 45 Servlet-specific 的server properties调整 45 Actuator 默认映射 46 Spring Loaded不再支持 46 支持Quartz ...

    Hadoop实战

    1286.3 性能调优 1296.3.1 通过combiner来减少网络流量 1296.3.2 减少输入数据量 1296.3.3 使用压缩 1296.3.4 重用JVM 1326.3.5 根据猜测执行来运行 1326.3.6 代码重构与算法重写 1336.4 小结 134第7章 细则手册 ...

    Hadoop实战中文版.PDF

    1186.2 生产集群上的监视和调试 1236.2.1 计数器 1236.2.2 跳过坏记录 1256.2.3 用IsolationRunner重新运行出错的任务 1286.3 性能调优 1296.3.1 通过combiner来减少网络流量 1296.3.2 减少输入数据量...

    xmljava系统源码-Superman:Superman是什么:构建JavaAndroid高级开发技术的知识体系,从基础不断打怪升级成为超人

    Spring全家桶、高并发、分布式、高性能存储、性能调优、容器化、微服务。只要你掌握这些知识就可以成为Superman。 :thumbs_up: 推荐阅读: 所有文章都整理在了语雀: 可直接从语雀查看. Android 技术专题 技术专题 ...

    Java及大数据学习路线.pdf

    Nginx反向代理、负载均衡、动静分离 JVM内存模型、参数调优 JUC线程⾼级 分布式架构注册中⼼Zookeeper 虚拟化应⽤容器Docker 全⽂检索引擎ElasticSearch 消息队列RabbitMQ 前端VUE/ES6 2⼤数据学习路线 2.1JavaSE ...

    java-tech-stack:Java技术栈,涉及Java技术体系,Java编程练习题,Java面试题,IT宅文章收录,以及业界优秀博文收录

    Java技术栈:java tech stack,记录相关Java技术,包含学习系列教程,常见面试题,编程思考题,同时会收录我的博客文章,以及业界优秀文章。 关于我的博客: 关于Java技术栈:可以在线访问: 在线思维导图::horse: ...

    Hadoop权威指南(中文版)2015上传.rar

    重用JVM 跳过坏记录 任务执行环境 第7章 MapReduce的类型与格式 MapReduce的类型 默认的MapReduce作业 输入格式 输入分片与记录 文本输入 二进制输入 多种输入 数据库输入(和输出) 输出格式 文本输出 二进制输出 ...

    Hadoop权威指南 第二版(中文版)

     重用JVM  跳过坏记录  任务执行环境 第7章 MapReduce的类型与格式  MapReduce的类型  默认的MapReduce作业  输入格式  输入分片与记录  文本输入  二进制输入  多种输入  数据库输入(和输出)  输出格式...

    Hadoop实战中文版

    6.3 性能调优 6.3.1 通过combiner来减少网络流量 6.3.2 减少输入数据量 6.3.3 使用压缩 6.3.4 重用JVM 6.3.5 根据猜测执行来运行 6.3.6 代码重构与算法重写 6.4 小结 第7章 细则手册 7.1 向任务传递作业...

    Hadoop实战(陆嘉恒)译

    编程实践6.1 开发MapReduce 程序6.1.1 本地模式6.1.2 伪分布模式6.2 生产集群上的监视和调试6.2.1 计数器6.2.2 跳过坏记录6.2.3 用IsolationRunner重新运行出错的任务6.3 性能调优6.3.1 通过combiner来减少网络流量...

Global site tag (gtag.js) - Google Analytics