我正在玩POSIX队列,我遇到了一个问题。在创建新队列时,我可以指定例如消息的大小以及队列中可以有多少消息。我的正常限制是
中的10/proc/sys/fs/mqueue/msg_max
除了
之外,还有一种简单的方法可以在程序执行期间更改它echo number > /proc/sys/fs/mqueue/msg_max
可能存在一些用于设置此类事物的系统调用。
答案 0 :(得分:3)
没有
该限制是系统范围的限制;这就是为什么它在/proc/sys
。如果要更改它,则必须使用已显示的echo
命令。
答案 1 :(得分:2)
队列在创建时设置,您无法在中途更改它。您可以通过在创建队列时以特权用户身份运行来增加队列消息的数量。因此,您必须运行单独的程序(作为PU)来创建队列或作为PU运行,创建队列,并在完成后删除权限。您可以增加的消息数仍然受队列总大小的限制,因此您必须进行一些除法(减少少量的开销)。如果你在Google周围有一个简单的公式。
答案 2 :(得分:0)
最后发现: Re: POSIX Message Queues
编辑/etc/sysctl.conf并添加以下行:
#增加消息队列
fs.mqueue.msg_max = 100
在Raspbian上为我工作