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

es集群内存使用率过高

  • 内存
  • 2024-08-27 04:58:17
  • 7629

一、es内存32g以上无效es内存超过32g无效。根据相关公开资料查询,es是一个java程序,内存受到JVM堆内存的限制es进程的堆内存受到指针压缩的限制,不能超过32G会导致指针压缩失败,造成内存浪费。


二、es加内存加节点好处可以提高吞吐量。es通常采用第二种水平扩展方式,将es添加到内存和节点的好处是只需增加集群中相同数量的节点即可提高吞吐量和集群搜索性能。不会提高性能。


三、es不建议设置堆内存超过32GB原因开启指针压缩技术,使用4字节和32位来存储压缩地址。如果不勾选,则使用8个字节来存储实际地址。
不打开它的缺点
增加GC开销。它应该占用更多的堆。可用空间会减少,GC会更频繁地发生。
CPU缓存命中率降低:缓存的oops减少,导致效率降低。
因此,默认情况下启用指针。压缩
Java的对齐填充机制(8位内存相当于1字节)
Java堆内存分为8个字节
指针Java对象不需要保存地址。对象的实际64位地址不再可用,但可以保存映射的地址号。
这意味着它可以处理32GB(2^32*8)