gpt4 book ai didi

linux - DB2 docker共享内存段无法分配

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:41 24 4
gpt4 key购买 nike

我正在尝试使用 DB2 数据库设置 docker 镜像。安装完成没有任何问题,但是当我尝试重新启动数据库时出现以下错误:

SQL1084C Shared memory segments cannot be allocated. SQLSTATE=57019

我的 Dockerfile 基于这个: https://github.com/jeffbonhag/db2-docker他说同样的问题应该通过添加命令来解决

sysctl kernel.shmmax=18446744073692774399

允许内核分配更多内存,但错误仍然存​​在。

docker 守护进程本身在 Ubuntu 14.04 中运行,而 Ubuntu 14.04 在 MacOSX 上的 Parallels 中运行。

编辑:经过一番搜索,我发现这与以下命令有关:

UPDATE DB CFG FOR S0MXAT01 USING locklist 100000;

最佳答案

您过度分配了数据库内存堆,即 docker 无法满足内存需求。看看 following link to the manuals .这将为您提供数据库内存中内容的分割:

Bufferpools
The database heap
The locklist
The utility heap
The package cache
The catalog cache
The shared sort heap, if it is enabled
A 20% overflow area

您可以摆弄(减少)这些堆中的任何一个,直到 docker 满意为止。

关于linux - DB2 docker共享内存段无法分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33960807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com