Almalinux 9 分配内存失败

Almalinux 9 分配内存失败

我在装有 Almalinux 9 OS 的 AWS EC2 实例 r6i.4xlarge 中部署了 SingleStore DB CLI(Cluster in a Box)。通过管道加载数据时出现以下错误:

line 34: ER_MEMSQL_OOM (1712), Leaf Error (127.0.0.1:3307): The operating system failed to allocate memory (MemSQL memory use 18658.88 Mb). The request was not processed. See https://docs.memsql.com/troubleshooting/latest/memory-errors

我需要加载的表几乎有5GB。

该服务器是 32CPU/128GB,从未达到这个数量。

这是我的 /etc/sysctl.conf 文件:

vm.max_map_count = 1000000000

vm.min_free_kbytes = 4194304

net.core.wmem_max = 8388608

net.core.rmem_max = 8388608

vm.overcommit_memory = 0

#vm.overcommit_ratio = 99

vm.swappiness = 10

从 Singlestore 来看一切似乎正常,有人遇到过这种错误吗?

请帮忙

答案1

首先,“无法分配内存”并不意味着“内存不足”。它的意思是内核不愿意分配(即“保留”)进程请求的内存。这与实际内存使用量关系不大,因为大多数进程使用的内存比它们分配的内存少得多。对于这种情况,默认是过度使用内存(即分配比系统可用内存更多的内存)。

通常,当人们遇到此类问题时,最简单的解决方案就是添加交换空间,这样内核就会分配更多内存。它实际上不会大量使用交换空间,只是需要知道它可以。

相关内容