当前位置:首页 > 内存 > 正文

jvm内存设置多少合理

  • 内存
  • 2024-04-22 13:52:01
  • 6812

一、ElasticSearch优化系列七:优化建议

a)JVM内存设置不得超过设备内存的一半,且不得超过32GB。(./bin/elasticsearch-Xmx10g-Xms10g或者修改./bin/文件:

**一般分配1/4-1/2内存给主机**

设置每个线程的栈大小单个ES线程携带的数据量较大
JAVA_OPTS="$JAVA_OPTS-Xss128m"

b)只修改swap参数当内存不足时(ness=1)
c)此时不要修改GC方法
d)锁定内存并阻止JVM写入swap。为了避免降低ES
ll:true
e)的性能,缓存类型设置为SoftReference,只有当内存
不足时才会被回收。max_size::soft

4.评估索引构建性能和检索时序,并修改以下参数。

5.倒排字典索引必须驻留在内存中并且不能被GC。需要监控数据节点上segment的内存增长趋势。

优化不再定期更新的索引(ES2.0后改为forcemergeapi)。Optimze的本质是强制合并剪辑文件,可以节省大量剪辑内存

6.根据硬件环境,如测试结果中的设备数量、磁盘数量、索引大小等,设置最佳分片数量,每个分片的备份数量不要超过10GB,未使用的索引应删除定期进行冷数据迁移。

7.保守配置内存限制参数,尽量使用docvalue存储来减少内存消耗,并在接收时指定大小和参数。

8.如果不使用_all字段,最好关闭该属性,否则创建索引和增加索引大小时会使用更多的CPU。如果不受CPU计算能力的限制,可以选择_compressed文档源。这实际上是整个日志行,因此打开压缩可以减少索引大小。

9.避免导致大型结果集的搜索和分组操作。如果大量数据丢失,可以通过扫描和滚动来实现。

10.了解各种缓存功能,如堆缓存、过滤器缓存、索引缓存、批量队列等,设置合理的大小,根据最坏情况判断堆是否足够。

11.应结合实际应用场景,持续监控集群的使用情况。