Java的垃圾回收真是让人又恨又爱。当今大内存已经成为服务器的趋势,使用CMS垃圾回收有点捉襟见肘。为何要使用g1垃圾回收,我想用过es的人都会很清楚。下面我就介绍一下在elasticsearch中,如何使用G1垃圾回收。
首先找到es的配置文件。elasticsearch.in.sh,这个文件在es的bin目录下面。
然后找到配置垃圾回收的配置。
# Force the JVM to use IPv4 stack if [ "x$ES_USE_IPV4" != "x" ]; then JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" fi JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC" JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC" JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75" JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
加黑的这4行都注释掉。
然后换成:
JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC" JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=200"
然后启动es就可以了。
好了,然后咱们回过头来说说为啥要使用g1垃圾回收。
首先:G1是Java7以后推荐的垃圾回收方式。自然有他很多的好处,jdk本身肯定对他做了很多优化。这个详细的我也不清楚。
但是,更重要的是,现在的Java程序,谁没有十来G的内存可以使用。特别像es这样的存储系统。你甚至都想给他配个几百G,省得你内存不够用。大内存导致Java的GC停顿时间长到让人难以容忍的程度。G1就是专门为这种大内存的应用程序提出的新一代内存垃圾回收解决方案。
另外,oracle官方建议,使用g1回收时,不要设置年轻代内存大小。
G1的配置还有很多参数,详细参数见官网:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html
请支持原创:
http://donlianli.iteye.com/blog/1948787
对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间
相关推荐
适用于7.17.1系列,例如Elasticsearch的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...
最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-x86_64.zip最新版windows elasticsearch-8.8.2-windows-...
赠送jar包:elasticsearch-x-content-6.3.0.jar; 赠送原API文档:elasticsearch-x-content-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-x-content-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-x...
最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip最新版 elasticsearch-analysis-ik-8.7.0.zip
赠送jar包:elasticsearch-rest-high-level-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar;...
赠送jar包:elasticsearch-rest-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elastic...
在使用过程中,可以通过Elasticsearch的配置文件(如elasticsearch.yml)设置分词器参数,或者在创建索引时指定分词器类型。 总的来说,"elasticsearch-analysis-ik-7.10.0.zip"是Elasticsearch 7.10.0版的一个关键...
在Elasticsearch 8.11.0中,IK插件的配置和使用通常涉及以下步骤: 1. 安装:将`elasticsearch-analysis-ik-8.11.0.jar`文件放入Elasticsearch的`plugins`目录下,并确保所有依赖项(如`httpclient-4.5.13.jar`、`...
最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip最新版elasticsearch-analysis-ik-8.8.2.zip
Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...
在现代大数据分析和搜索引擎领域,Elasticsearch(ES)因其高效、灵活的全文检索能力而备受青睐。然而,对于中文这样的多字节语言,如何准确地进行分词是关键。这时,我们就需要引入专门的中文分词器。本文将详细...
Elasticsearch(ES)是一款功能强大的全文搜索引擎,广泛应用于数据检索、数据分析等领域。为了提高搜索的准确性和便利性,Elasticsearch提供了丰富的分析插件,其中"elasticsearch-analysis-dynamic-synonym-7.2.0...
赠送jar包:elasticsearch-rest-high-level-client-6.8.3.jar; 赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar;...
Elasticsearch(ES)作为一款强大的全文搜索引擎,同样支持对同义词的处理。`elasticsearch-analysis-dynamic-synonym-7.6.2`是一个专为ES7.6.2版本设计的动态同义词插件,旨在实现同义词的动态加载和管理,使得同义...
Elasticsearch(ES)作为一个开源的全文搜索引擎,因其强大的搜索功能和分布式特性而备受青睐。然而,对于中文这种复杂的语言,分词是搜索引擎理解文本的关键步骤。本文将详细介绍elasticsearch-analysis-ik-7.10.2...
《Elasticsearch分词器:elasticsearch-analysis-ik-7.16.2深度解析》 ...理解并熟练掌握IK分词器的使用,能够极大地提升Elasticsearch在中文环境下的检索性能,为大数据分析和信息检索带来显著提升。
然后,可以通过Elasticsearch的bin目录下的`plugin`命令行工具进行安装,或者使用解压后的zip文件手动复制到Elasticsearch的`plugins`目录下。安装完成后,重启Elasticsearch服务,插件即可生效。 在配置Elastic...
在使用`elasticsearch-jieba-plugin`时,你需要配置Elasticsearch的索引设置,指定使用jieba分词器。在创建索引或者更新现有索引的映射(mapping)时,可以通过设置`analyzer`字段来指定分词器。例如: ```json PUT...
在Elasticsearch中,为了实现中文等复杂语言的全文检索,我们通常会使用特定的分析器。"elasticsearch-analysis-ik-7.17.0"便是针对Elasticsearch的一个重要插件,专为中文全文检索提供强大的支持。 IK...
5. **插件化设计**:方便与其他 Elasticsearch 插件配合使用,如拼音插件、同义词插件等。 **安装与使用** 安装 Elasticsearch-analysis-ik 插件非常简单,只需在 Elasticsearch 根目录下执行命令 `bin/elastic...