weixin_48484941 2023-08-08 11:35 采纳率: 62.5%
浏览 6

kingbase 启动报错 内存不足

导入大数据量到kingbase数据库,然后重启报错了

2023-08-08 11:29:01 CST [2636829]: [1-1] user=,db=,client=LOG:  sepapower extension initialized
2023-08-08 11:29:01 CST [2636829]: [2-1] user=,db=,client=LOG:  starting KingbaseES V008R006C007B0012 on aarch64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.9.1-16kord6) 4.9.1, 64-bit
2023-08-08 11:29:01 CST [2636829]: [3-1] user=,db=,client=LOG:  listening on IPv4 address "0.0.0.0", port 54321
2023-08-08 11:29:01 CST [2636829]: [4-1] user=,db=,client=LOG:  listening on IPv6 address "::", port 54321
2023-08-08 11:29:01 CST [2636829]: [5-1] user=,db=,client=LOG:  listening on Unix socket "/tmp/.s.KINGBASE.54321"
2023-08-08 11:29:01 CST [2636829]: [6-1] user=,db=,client=FATAL:  could not map anonymous shared memory: Cannot allocate memory
2023-08-08 11:29:01 CST [2636829]: [7-1] user=,db=,client=HINT:  This error usually means that Kingbase's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently 71782088704 bytes), reduce Kingbase's shared memory usage, perhaps by reducing shared_buffers or max_connections.
2023-08-08 11:29:01 CST [2636829]: [8-1] user=,db=,client=LOG:  database system is shut down

提示内存需要分配 67G内存。不知道为什么要这么大的内存。是把数据都装进内存了么

              total        used        free      shared  buff/cache   available
Mem:            254         191          54           5           8          39
Swap:             0           0           0

本机 可以用 只剩下 54G。
shared_buffers 不管设多设少都启动不了。
请问有什么办法可以让他启动成功。或者没有启动的状态下,能否删掉导入的大量数据的那个数据库。

  • 写回答

1条回答 默认 最新

  • 玥轩_521 2023-08-08 12:39
    关注

    援引GPT回答:
    根据错误日志,报错信息显示Kingbase请求的共享内存段超过了可用内存大小,导致无法启动数据库。根据提示,你可以尝试以下方法来解决问题:

    1. 减少shared_buffers的大小:根据提示,减少shared_buffers的大小可能有助于减少Kingbase的共享内存使用量。你可以在数据库配置文件中找到shared_buffers参数,并将其值减小,然后重新启动数据库。

    2. 减少max_connections的数量:同样,减少max_connections的数量也可以减少Kingbase的共享内存使用量。你可以在数据库配置文件中找到max_connections参数,并将其值减小,然后重新启动数据库。

    3. 增加可用内存:如果你的系统内存不足以满足Kingbase的需求,你可以考虑增加系统的物理内存或者启用交换空间(swap space)来提供额外的虚拟内存。

    如果以上方法无法解决问题,你可以尝试删除导入大量数据的数据库。首先,停止数据库服务,然后删除数据库文件和目录。具体步骤如下:

    1. 停止数据库服务:

      sudo systemctl stop kingbase
      
    2. 删除数据库文件和目录(请注意,这将删除整个数据库):

      sudo rm -rf /var/lib/kingbase
      
    3. 启动数据库服务:

      sudo systemctl start kingbase
      

    请确保在执行删除数据库的操作之前,备份重要数据。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月8日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值