0 to MAXINT
No. Loaded into msgtql field of msginfo structure.
The space consumed by the maximum number of data structures that would be created to support the messages and queues is compared to 25% of the available kernel memory at the time the module is loaded. If the number is too big, the message queue module refuses to load and the facility is unavailable. This computation does include the space that might be consumed by the messages. This situation occurs only when the module is first loaded.
When the default value is not enough. Generally changed at the recommendation of software vendors.