PGSQL优化后出错不能创建信号量:没有空间

服务器32 g内存空间


参数优化

vi postgresql美元。参看

shared_buffers=3072 mb

max_connections=4000

work_mem=4 mb

effective_cache_size=4 gb

maintenance_work_mem=512 mb 

wal_buffers=256


具体优化参数解释参考:https://blog.csdn.net/zhousenshan/article/details/70233820


启动服务出错

$ pg_ctl - d/数据/pg_data启动

服务器开始

日志:美元,不能创建IPv6插座:家庭地址不支持的协议

致命的:,不能创建信号量:设备上没有剩余空间

细节:系统调用失败,是semget (5432124, 03600)。

提示:,这个错误*不*是否意味着你已经耗尽磁盘空间。系统限制,它发生在信号量集的最大数目(SEMMNI),或系统最大数量的信号量(SEMMNS),将超过。,你需要提高各自的内核参数。,另外,减少postgresql # 39;年代消费信号量的减少其max_connections参数。

,,,,PostgreSQL文档包含更多关于为PostgreSQL配置您的系统的信息。

日志:,数据库系统关闭


分析:

这是因为内核参数中共享内存的配置限制了最大连接数,具体参考博客:https://www.cnblogs.com/xiaotengyi/p/5439231.html


解决办法:

# vi/etc/sysctl.conf

内核。sem=50100 128256000 50100 2560


重载配置# sysctl - p

vm。min_free_kbytes=409600

vm。vfs_cache_pressure=200

vm。swappiness=0

fs。file-max=6815744

fs。aio-max-nr=1048576

内核。sysrq=1

内核。sem=50100 128256000 50100 2560

net.core。rmem_default=2621440

net.core。wmem_default=2621440

net.core。rmem_max=2621440

net.core。wmem_max=2621440

net.ipv4。tcp_rmem=4096,,,,655360年2621440

net.ipv4。tcp_wmem=4096,,,,655360年2621440

PGSQL优化后出错不能创建信号量:没有空间