【问题标题】:All allocated Tarantool 2.3 space memtx is occupied所有分配的 Tarantool 2.3 空间 memtx 被占用
【发布时间】:2020-10-05 16:09:55
【问题描述】:

今天分配给 memxt tarantool 的空间已经用完了 - memtx_memory = 5GB,RAM 真的很忙,只有 5GB,重新启动 tarantool 后释放了超过 4GB。 RAM可能会堵塞什么?这可能与哪些设置有关?

 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
 box.info()
---
- version: 2.3.2-26-g38e825b
  id: 1
  ro: false
  uuid: d9cb7d78-1277-4f83-91dd-9372a763aafa
  package: Tarantool
  cluster:
    uuid: b6c32d07-b448-47df-8967-40461a858c6d
  replication:
    1:
      id: 1
      uuid: d9cb7d78-1277-4f83-91dd-9372a763aafa
      lsn: 89759968433
    2:
      id: 2
      uuid: 77557306-8e7e-4bab-adb1-9737186bd3fa
      lsn: 9
    3:
      id: 3
      uuid: 28bae7dd-26a8-47a7-8587-5c1479c62311
      lsn: 0
    4:
      id: 4
      uuid: 6a09c191-c987-43a4-8e69-51da10cc3ff2
      lsn: 0
  signature: 89759968442
  status: running
  vinyl: []
  uptime: 606297
  lsn: 89759968433
  sql: []
  gc: []
  pid: 32274
  memory: []
  vclock: {2: 9, 1: 89759968433}

cat /etc/tarantool/instances.available/my_app.lua

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




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

【问题讨论】:

    标签: lua tarantool


    【解决方案1】:

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

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

    • 您为元组分配了一些区域
    • 先放一个元组,然后再放一个
    • 当您需要增加第一个元组时,数据库需要将您的元组重新定位到另一个有足够容量的地方。之后,第一个元组的位置将是空闲的,但我们为扩展元组占据了新位置。

    您可以通过为您的案例增加元组大小来减少碎片因子。 通过估计您的典型数据来选择大小,或者只是通过一段时间的工作负载指标找到最佳大小。

    【讨论】:

      猜你喜欢
      • 2019-02-10
      • 2021-02-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多