sstemd deletes shared memor segment in postgresql

最近在server上部署PostgreSQL9.5(源码安装), 总是报because another server process exited abnormally and possibly corrupted shared memory, google 发现竟然是systemd问题。

在RHEL7.2中,systemd-logind 服务引入了一个新特性,该新特性是:当一个user完全退出os之后,remove掉这个user所有的IPC objects。
该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。详细请看man logind.conf(5)
在RHEL7.2中,RemoveIPC的默认值为yes

cat /etc/systemd/logind.conf

> [Login]

# NAutoVTs=6

# ReserveVT=6

# KillUserProcesses=no

# KillOnlyUsers=

# KillExcludeUsers=root

# InhibitDelayMaxSec=5

# HandlePowerKey=poweroff

# HandleSuspendKey=suspend

# HandleHibernateKey=hibernate

# HandleLidSwitch=suspend

# HandleLidSwitchDocked=ignore

# PowerKeyIgnoreInhibited=no

# SuspendKeyIgnoreInhibited=no

# HibernateKeyIgnoreInhibited=no

# LidSwitchIgnoreInhibited=yes

# IdleAction=ignore

# IdleActionSec=30min

# RuntimeDirectorySize=10%   

# RemoveIPC=yes   

so 可以通过

  1. set RemoveIPC=no in /etc/systemd/logind.conf

  2. systemctl daemon-reload

  3. systemctl restart systemd-logind

References

关键字:systemd, removeipc, etc, yes


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部