README.md in sysvmq-0.2.0 vs README.md in sysvmq-0.2.1

- old
+ new

@@ -16,11 +16,11 @@ Add `sysvm` to your Gemfile. `gem 'sysvmq'` -Currently known to work on Linux and OS X for MRI >= 2.0. +Currently known to work on Linux and OS X for MRI >= 1.9 ## Usage ```ruby # Create a message queue with a 1024 byte buffer. @@ -37,9 +37,32 @@ ensure # Delete queue mq.destroy ``` + +## Proc settings + +System V queues are limited by default to a maximum of 16 message queues, a maximum of 8KB per message, and a maximum of 16KB for the total size of all messages in a queue. + +To increase (or decrease) these limits, either run: + +```sh +sysctl -w kernel.msgmni=32 +sysctl -w kernel.msgmax=1000000 +sysctl -w kernel.msgmnb=2000000 +``` + +or write to /etc/sysctl.conf: + +```sh +echo 'kernel.msgmni=32' >> /etc/sysctl.conf # maximum number of message queues +echo 'kernel.msgmax=1000000' >> /etc/sysctl.conf # maximum number of bytes per message +echo 'kernel.msgmnb=2000000' >> /etc/sysctl.conf # maximum total size of all messages in a queue +sysctl -p +``` + +See http://man7.org/linux/man-pages/man5/proc.5.html for more information. ## Todo * Explain messages types * Add named params for flags (e.g. `mq.receive(:front, blocking: false)`)