POSIX 消息队列相关问题
一、查看和刪除消息隊(duì)列
要想看到創(chuàng)建的posix消息隊(duì)列,需要在root用戶下執(zhí)行以下操作:
# mkdir /dev/mqueue
# mount -t mqueue none /dev/mqueue
刪除隊(duì)列使用 rm 命令即可。
二、查看和調(diào)整消息隊(duì)列限制
參考 《Linux進(jìn)程通信之POSIX消息隊(duì)列》
1、查看消息隊(duì)列大小的限制
# ulimit -a |grep message
POSIX message queues ? ? (bytes, -q) 819200
限制大小為800KB,該大小是整個(gè)消息隊(duì)列的大小,不僅僅是最大消息數(shù)*消息的最大大小;還包括消息隊(duì)列的額外開(kāi)銷(xiāo)。測(cè)試代碼見(jiàn)參考文章。
2、修改消息隊(duì)列大小的限制
切換到root用戶
# ulimit -q 1024000
但會(huì)在shell啟動(dòng)進(jìn)程結(jié)束后失效,可以將設(shè)置寫(xiě)入開(kāi)機(jī)啟動(dòng)的腳本中執(zhí)行,例如/etc/bash.bashrc,/etc/rc.local中(由于需要root權(quán)限,因此其他用戶登陸時(shí)無(wú)法自動(dòng)設(shè)置成功)。
如果要?jiǎng)?chuàng)建的消息隊(duì)列總大小超過(guò)該限制,會(huì)報(bào)錯(cuò):Too many open files
3、其他限制
POSIX消息隊(duì)列在實(shí)現(xiàn)上還有另外兩個(gè)限制:
MQ_OPEN_MAX:一個(gè)進(jìn)程能同時(shí)打開(kāi)的消息隊(duì)列的最大數(shù)目,POSIX要求至少為8
MQ_PRIO_MAX:消息的最大優(yōu)先級(jí),POSIX要求至少為32
from:?http://blog.sina.com.cn/s/blog_590be5290102w6un.html
轉(zhuǎn)載于:https://www.cnblogs.com/hehehaha/p/6332267.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的POSIX 消息队列相关问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 团队冲刺站立会议03
- 下一篇: 成都Uber优步司机奖励政策(4月24日