1、你这么解释我对2.25的来源算是知晓了。
2、memory-usage-limit这个参数应该是 : 系统内存的75%默认, 8*0.75=6
3、总内存8g=memory-usage-limit+page-cache,这个也认可。
但是目前还是有两个核心疑问
1、memory-usage-limit 配置 12295013375B, 结合监控的单位是 GiB (1024换算)
12295013375B=11.45GiB ,但是实际监控显示最大到12.5GiB了 (如果是按1000换算最大是12.29倒是没有超过)
+------+---------------------+--------------------+--------------+
| Type | Instance | Name | Value |
+------+---------------------+--------------------+--------------+
| tikv | 172.31.9.37:20160 | memory-usage-limit | 12295013375B |
2、第二个问题基于第一个问题, 如果是按1024换算 12.5> 11.45超了的情况来说,为什么超limit了,大家都说是因为capacity .
但是我的理解是 capacity是包含在 limit里面的,因为官方对limit的定义是tikv实例的最大内存。
capacity 配置的值确实是小于 limit的,但是为何要 capacity最大为何会使用到2.25倍,不应该是配置多少用多少吗?
limit+page-cache是系统总内存,如果只考虑capacity的话,那我的8C16G来算, 总内存16G-page-cache 4G= 12G, 也就是limit,capacity总使用是不能超过limit的, 那么最大的倍数应该是 12/7.2=1.67
不知道有没有人和我一样的理解