Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

posix ipc message queue

Status
Not open for further replies.

cadanir

Programmer
Mar 19, 2003
4
0
0
FR
Hello,

My question is related to "pipcs -qa" command under HP-UX 11i PA-RISC 64 bits.

We have a little C program that creates posix ipc message queues using the mq_open() system function.

The program fail with 'No space left on device' error when we create big queues. What is the system limit of the size of all queues ?

If we calculates the sum of all the MNUM*QBYTES columns in the output of 'pipcs -qa' the error arrive when we are close to 860 or 900 Mbytes.

Is there a way to go beyond this amount of memory ?

How the system actually allocate the memory when we create a posix queue of 1024 bytes for a message and for example 100000 as the max number of messages ? Are the 1024 * 100000 bytes allocated when the queue is created or at usage time that is when we really put some messages on the queue ?

Is this related to the fact that HP-UX divide his memory space into 4 quadrants of 1GB each ? Is there a workaround ?

I already compiled the program using the 64 bit options of the K&R
style "bundled" compiler, I also tried 'setmemwindow' without success...

I'm not sure if posix IPC message queues are implemented using the mmap() function, if it is, then what is the max. shared memory size of mmap() ?

I also failed to convince users not to use so big queues...

If we cannot go beyond 900 Mbytes for the size of all queues we are planning to use something else like Java JMS or MQseries or a database ...


Thanks for your advice (and for reading this long post),

Cengiz ADANIR
cadanir2000@yahoo.fr
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top