使用 dmesg 来查看一些硬件或驱动程序的信息或问题。

segments的version_map_memory指标具体表示什么

Elasticsearch | 作者 zmc | 发布于2022年01月25日 | 阅读数:1576

hi,请教下各位,segments的version_map_memory指标具体表示什么呢?这个值比较大意味着什么~

没太理解官方的这个解释:Total amount of memory used by all version maps across all shards assigned to selected nodes
已邀请:

Ombres

赞同来自:

每个doc都有一个_version字段,用来标记doc的版本号,主要用途在数据变更时的校验。
这个version map就是在数据写入时,version存储于内存中的数据结构map<uid,version>,一般在refresh时的会清空,把version存到lucene中

Charele - Cisco4321

赞同来自:

每个分片都有一个versionMap,用于get,update,delete时保留旧值。
 
    @Override
    public long ramBytesUsed() {
        return maps.current.ramBytesUsed.get() + ramBytesUsedTombstones.get();
    }
 
这个version_map_memory就是versionMap所用内存值,
值越大,就表示此分片操作越频繁

要回复问题请先登录注册