1. 程式人生 > >修改posix msg queue的限制值

修改posix msg queue的限制值

2010-12-15

周海漢 2010.12.15 http://abloz.com

mqueue系列限制,限制msg條數,msg大小,queue個數。其中msg條數太小,對於有大量訊息的系統,很容易導致queue滿。 如何修改呢?

幾個限制的預設值: [email protected]:~$ cat /proc/sys/fs/mqueue/msg_max 10 [email protected]:~$ cat /proc/sys/fs/mqueue/msgsize_max 8192 [email protected]:~$ cat /proc/sys/fs/mqueue/queues_max 256

此時,struct mq_attr 的mq_maxmsg成員變數如果超過msg_max,在mq_open時會報錯。 mq_open error:Invalid argument

[email protected]:~$ sudo cat 1000 >/proc/sys/fs/mqueue/msg_max bash: /proc/sys/fs/mqueue/msg_max: 許可權不夠 [email protected]:~$ sudo vi /proc/sys/fs/mqueue/msg_max 儲存 “/proc/sys/fs/mqueue/msg_max” E667: 同步失敗

所以不能直接修改/proc下面這些檔案。 應該修改/etc/sysctl.conf [email protected]:~$ sudo vi /etc/sysctl.conf 增加:

#mqueue max fs.mqueue.msg_max=1000 fs.mqueue.msgsize_max=8192 fs.mqueue.queues_max=255

儲存,重啟系統就已經修改過了。 [email protected]:~$ cat /proc/sys/fs/mqueue/msg_max 1000 [email protected]:~$ cat /proc/sys/fs/mqueue/msgsize_max 8192 [email protected]:~$ cat /proc/sys/fs/mqueue/queues_max 255

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源