Lua 已占用所有分配的Tarantool 2.3空间memtx

Lua 已占用所有分配的Tarantool 2.3空间memtx,lua,tarantool,Lua,Tarantool,今天,为memxt tarantool分配的空间超过了-memtx_memory=5GB,在重新启动tarantool超过4GB后,RAM在5GB时非常繁忙。 什么东西会被闸板堵塞?这与什么设置有关 box.slab.info() --- - items_size: 1308568936 items_used_ratio: 91.21% quota_size: 5737418240 quota_used_ratio: 13.44% arena_used_ratio: 89.2%

今天,为memxt tarantool分配的空间超过了-memtx_memory=5GB,在重新启动tarantool超过4GB后,RAM在5GB时非常繁忙。 什么东西会被闸板堵塞?这与什么设置有关

 box.slab.info()
---
- items_size: 1308568936
  items_used_ratio: 91.21%
  quota_size: 5737418240
  quota_used_ratio: 13.44%
  arena_used_ratio: 89.2%
  items_used: 1193572600
  quota_used: 1442840576
  arena_size: 1442840576
  arena_used: 1287551224
cat/etc/tarantool/instances.available/my_app.lua

...
memtx_memory = 5 * 1024 * 1024 * 1024,
...

这是一个称为碎片化的过程的结果。

这一过程的简单原因是下一种情况:

  • 您为元组分配了一些区域
  • 你放一个元组,然后再放另一个元组
  • 当需要增加第一个元组时,数据库需要将元组重新定位到另一个具有足够容量的位置。之后,第一个元组的位置将是空闲的,但我们为扩展元组选择了新位置
您可以通过增加案例的元组大小来减少碎片因子。 通过估计典型数据来选择大小,或者通过一段时间内的工作量指标来找到最佳大小

...
memtx_memory = 5 * 1024 * 1024 * 1024,
...
Tarantool vesrion 2.3.2, OS CentOs 7




https://i.stack.imgur.com/onV44.png