文档章节

11.1 垃圾优化回收

J
 J_Stone
发布于 2014/05/29 14:20
字数 337
阅读 16
收藏 0

1 为什么要优化垃圾回收?  

 写入负载高时,繁重的负载会迫使内存分配策略无法安全的只依赖JRE对程序行为的各种假设:需要调整JRE的参数来调整垃圾回收策略。

2 JVM堆内存怎么出现孔洞?

        写入的数据时客户端在不同时间写入的。

        参阅:JVM运行原理 http://blog.csdn.net/bingduanlbd/article/details/8363734

                    JVM垃圾回收器  http://my.oschina.net/u/128568/blog/264257

3 hbase中怎么设置JVM参数?

   1  hbase_env.sh 中 HBASE_OPTS或者HBASE_REGIONSERVER_OPT变量来设置垃圾回收的选项。推荐使用后者。

   2  设置新生代大小的参数,不能过小,过小则导致年轻代过快成为老生代,引起老生代产生内存碎片。

                                                 不能过大,过大导致所有的JAVA进程停止时间长。  -XX:MaxNewSize=128m   -XX:NewSize=128m

   3 设置垃圾回收日志,打印日志,能够看到新生代提升到老生代失败的信息。"concurrent mode failure",'promotion failed"

                   -verbose:gc -XX: +PrintGCDetails -XX:+PrintGCTimeStamps  \

                   -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log

   4 设置垃圾回收策略 

                   -XX:+UseParNewGC  -XX:+UseConcMarkSweepGC

  5  设置CMS的值,占比多少时,开始并发标记和清扫检查。


 综上:export  HBASE_REGIONSERVER_OPT ="-Xmx8g  -Xms8g  -Xmn128m  -XX:+UseParNewGC  -XX:+UseConcMarkSweepGC  \

              -XX:CMSInitiatingOccupancyFraction=70   -verbose:gc  \

              -XX: +PrintGCDetails -XX:+PrintGCTimeStamps \ 

               -Xloggc:$HBASE_HOME/logs/gc-$(hostname)-hbase.log


© 著作权归作者所有

J
粉丝 2
博文 167
码字总数 30214
作品 0
朝阳
私信 提问
成为Java GC专家系列

成为Java GC专家(1):深入浅出Java垃圾回收机制 成为Java GC专家(2):如何监控Java垃圾回收机制 成为Java GC专家(3):如何优化Java垃圾回收机制 成为Java GC专家(4):Apache的MaxClients参数...

HenrySun
2016/06/21
232
0
JVM性能优化, Part 3 垃圾回收

ImportNew注:本文是JVM性能优化 系列-第3篇-《JVM性能优化, Part 3 —— 垃圾回收》 第一篇 《JVM性能优化, Part 1 ―― JVM简介 》 第二篇《JVM性能优化, Part 2 ―― 编译器》 Java平台...

梁杰_Jack
2014/10/30
68
0
PostgreSQL 垃圾版本引入的索引扫描性能下降诊断

标签 PostgreSQL , 索引 , 多版本 , 垃圾版本 , pageinspect 背景 首先介绍几个背景知识,由于这些背景知识的存在,所以在某些情况下索引扫描的性能可能会出现一些问题或抖动。 导致性能下降...

德哥
2018/04/18
0
0
.Net垃圾回收机制原理详细介绍(二)

上一篇文章介绍了.Net 垃圾回收的基本原理和垃圾回收执行Finalize方法的内部机制;这一篇我们看下弱引用对象,代,多线程垃圾回收,大对象处理以及和垃圾回收相关的性能计数器。 让我们从弱引...

swords
2013/03/25
45
0
【译】让垃圾回收器高效工作(二)

这篇文章我们谈谈GC的不同工作模式,以及各个模式如何工作和他们之间的不同,让你明白你的应用程序该如何选择工作模式。 迄今为止运行时GC工作模式: 1)关闭并发的工作站GC 2)开启并发的工...

长平狐
2012/06/08
91
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 水果你们都没吃全

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 莱布妮子:分享五月天的单曲《温柔》@小小编辑 @cIouddyy @clouddyy 《温柔》- 五月天 手机党少年们想听歌,请使劲儿戳(这里) @FalconChe...

小小编辑
31分钟前
91
1
聚合支付网站被黑客攻击 导致数据库被篡改的防御办法

2020春节即将来临,收到新聚合支付平台网站客户的求助电话给我们Sinesafe,反映支付订单状态被修改由原先未支付修改为已支付,导致商户那边直接发货给此订单会员了,商户和平台的损失较大,很多码...

网站安全
昨天
63
0
MySQL-基于SELECT查询的UPDATE查询

我需要检查(从同一张表)基于日期时间的两个事件之间是否存在关联。 一组数据将包含某些事件的结束日期时间,另一组数据将包含其他事件的开始日期时间。 如果第一个事件在第二个事件之前完成...

javail
昨天
70
0
将PostgreSQL数据库复制到另一台服务器

我正在将生产PostgreSQL数据库复制到开发服务器。 什么是最快,最简单的方法? #1楼 pg_dump the_db_name > the_backup.sql 然后将备份复制到您的开发服务器,并使用以下命令进行还原: ps...

技术盛宴
昨天
130
0
[译]软件架构师之路

今天给大家带来一篇自己翻译的干货《软件架构师之路》。本周Github上升很快的项目。其内容对致力于成为软件架构师(不论前后端)的同学应该都会有极大的帮助。 项目地址: 中文地址 https://...

gamedilong
昨天
79
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部