如何在 Linux 中增加信号量数组的数量?

Dan*_*ral 6 linux semaphore limit ipc

在运行 postgresql 的 Debian lenny 服务器中,我注意到缺少信号量数组会阻止 Apache 启动。

查看限制,我看到最多 128 个数组中使用了 128 个数组,用于信号量。我知道这是问题所在,因为它发生在semget通话中。

如何增加数组的数量?

PS:我需要运行 Apache 才能使用 phppgadmin。

cjm*_*cjm 15

如果您阅读semget的联机帮助页,您会在注释部分注意到:

系统范围的最大信号量集数:取决于策略(在 Linux 上,可以通过 的第四个字段读取和修改此限制/proc/sys/kernel/sem)。

在我的系统上,cat /proc/sys/kernel/sem报告:

250 32000   32  128
Run Code Online (Sandbox Code Playgroud)

所以在你的系统上这样做,然后在增加最后一个数字后回显它:

printf '250\t32000\t32\t200' >/proc/sys/kernel/sem
Run Code Online (Sandbox Code Playgroud)

(数字之间有制表符,所以我printf用来生成它们。)