当前位置: 首页 > news >正文

PostgreSQL INITDB 初始化失败问题

今天遇到一个诡异的问题,在龙蜥 Anolis 8.8 上初始化数据库的提示这样的一个问题。 下面是报错的信息

running bootstrap script ... 2024-01-30 09:07:15.568 CST [2151614] FATAL:  could not create shared memory segment: No space left on device
2024-01-30 09:07:15.568 CST [2151614] DETAIL:  Failed system call was shmget(key=17825800, size=56, 03600).
2024-01-30 09:07:15.568 CST [2151614] HINT:  This error does *not* mean that you have run out of disk space.  It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.
        The PostgreSQL documentation contains more information about shared memory configuration.

查看操作系统的磁盘和内存都还是有剩余的 FREE 看内存 free 部分还有 24 GB,磁盘空间也是很大。

从上面的报错以及提示我们看到这应该是操作系统的某个东西设置引起的,这里他提示我们需要关注下内核参数 SHMMNI。

内核参数 SHMMAX
该参数定义了共享内存段的最大尺寸以字节为单位。SHMMAX 设置不足可能会导致以下问题:unable to attach to shared memory segment

可以通过执行以下命令来确定 SHMMAX 的值:
# cat /proc/sys/kernel/shmmax

假设这个值为 33554432 表示 32MB 大小。编辑文件 /etc/sysctl.conf 可以将其固化在系统中。
# vi /etc/sysctl.conf
kernel.shmmax=2147483648

设置 SHMMNI
这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096。这一数值已经足够,通常不需要更改。

可以通过执行以下命令来确定 SHMMNI 的值:
# cat /proc/sys/kernel/shmmni

类似的我们也可以通过如下的方法来将其固化在系统内核中。
# vi /etc/sysctl.conf
kernel.shmmni=8192

备注:上面的报错就是提示我们需要处理这个参数。
# sysctl -p

然后再重新初始化问题解决。


http://www.mrgr.cn/news/68935.html

相关文章:

  • Ubuntu中以root身份运行Qt创建的项目
  • 深入浅出 ChatGPT 底层原理:Transformer
  • 如何开展小组讨论以强化员工对六西格玛的关注度?
  • 通过MT4调用Windows API进行文件读写操作
  • 24.11.11 JavaScript1
  • 2024年11月10日系统架构设计师考试题目回顾
  • 【activiti工作流源码集成】springboot+activiti+mysql+vue+redis工作流审批流集成整合业务绑定表单流程图会签驳回
  • Golang | Leetcode Golang题解之第551题学生出勤记录I
  • 二维数组转一维数组提升效率方法
  • 网络安全技术及其在企业中的应用
  • CDMA(Code Division Multiple Access)
  • 数据分析主要干什么
  • IoTDB 与 HBase 对比详解:架构、功能与性能
  • 二叉树方面的题
  • 读数据工程之道:设计和构建健壮的数据系统32序列化和云网络
  • 一个灵活且功能强大的动画库 Popmotion
  • Redis集群模式之Redis Sentinel vs. Redis Cluster
  • java基础:反射
  • TCP(传输控制协议)和UDP(用户数据报协议)
  • 智能制造基础- TPM(全面生产维护)
  • Python酷库之旅-第三方库Pandas(203)
  • STL---迭代器
  • 出现 SLF4J: Class path contains multiple SLF4J bindings 原理分析
  • Java开发插件:JRebel热部署(最佳实践+激活方式)
  • 自动化测试工具Ranorex Studio(二十六)-对象库设置对话框
  • Spring框架之策略模式 (Strategy Pattern)