【发布时间】:2010-12-05 22:39:43
【问题描述】:
我正在使用消息队列编写 IPC 应用程序。使用 msgget() 函数获取消息队列时出现此错误。
请求的操作不需要设备上的大量空间,也应该有剩余空间。
任何想法。提前谢谢你
【问题讨论】:
标签: c ipc message-queue
我正在使用消息队列编写 IPC 应用程序。使用 msgget() 函数获取消息队列时出现此错误。
请求的操作不需要设备上的大量空间,也应该有剩余空间。
任何想法。提前谢谢你
【问题讨论】:
标签: c ipc message-queue
msgget中的ENOSPC表示已达到系统范围的最大消息队列数。
您可以配置此限制 - 例如在 Linux 中您可以调整 /proc/sys/kernel/msgmni。
【讨论】:
echo "Please increase number of message queues." | mail root@localhost 可能是你能做的最好的了;)
msgget()以外的其他东西。
/proc/ 对 sysctls 所做的更改不会在重新启动后继续存在 - 要使其永久生效,请在 /etc/sysctl.conf 中添加一行,例如 kernel.msgmni = 2000