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

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

在运行 postgresql 的 Debian lenny 服务器中,我注意到缺少信号量数组导致 Apache 无法启动。

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

如何增加数组的数量?

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

答案1

如果您阅读了联机帮助页塞姆盖特,在注释部分您会注意到:

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

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

250 32000   32  128

因此,请在您的系统上执行此操作,然后在增加最后一个数字后回显它:

printf '250\t32000\t32\t200' >/proc/sys/kernel/sem

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

相关内容