POSIX message queue size


 
Thread Tools Search this Thread
Operating Systems Linux POSIX message queue size
# 1  
Old 06-05-2008
POSIX message queue size

Hi all,
Please tell me how to change POSIX message queue maximum size? "ulimit" is not a solution because it controls shell resources. But i need to control queue size before login in and starting the shell. It is needed to limit queue size for applications started before login in.
Sorry for my bad english.
Thanks.
# 2  
Old 06-05-2008
There is a kernel parameter CONFIG_POSIX_MQUEUE that turns mqueues off/on. mqueues use kernel resources.

What problem are you having?
# 3  
Old 06-05-2008
The default queue size is 819200 bytes. We can change this value by invoking "ulimit -q". But it only changes the queue size for the current shell and applications run by it. I have some application that must be invoked on system start (before login in and starting shell). And i need to increase the queue size for them. But i can't use "ulimit -q" command. Because the shell hasn't been started yet.
Also i can't use the "/etc/limits.conf" file to specify queue size. Because: "note that all limit settings are set per login. They are not global, nor are they permanent".
# 4  
Old 06-05-2008
Can't you start the application from a simple shell wrapper which sets the appropriate limits, then execs the application?
# 5  
Old 06-05-2008
Code:
/bin/bash/ -c "ulimit -q 12288; exec /bla/bla/application -argument"

Right?
What if the applications must be run by init-scripts? So...
Code:
/bin/bash/ -c "ulimit -q 12288; exec /bla/bla/initscriptname -argument"

Is there any kernel options to specify POSIX queue size?
I found information about /proc/sys/fs/mqueue/. But there are no files to specify queue size. Only message size, messages count and queues count.

Last edited by Vourhey; 06-05-2008 at 10:53 AM..
# 6  
Old 06-05-2008
Can't you edit or wrap the init script then? They too are usually just shell scripts.
# 7  
Old 06-06-2008
Mmm... I peeped in one of the init scripts. The problem is why the limits aren't applied before login. So the init-script invoke the following:
Code:
/bin/sh -c ulimit -n 5 ;/bin/bash -l -c "/one/two/appl start"

If I invoke "ps -ef" after login in i can see the string above. application "appl" running successfully. Why?
But after login all actions with "appl" failed. Because ulimit works for some reason...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

POSIX message queue mq_open directory

hello, I try to test the POSIX mq_open function on book unp like below: #include "unpipc.h" # include <mqueue.h> int main(int argc, char **argv) { int c, flags; mqd_t mqd; flags = O_RDWR | O_CREAT; while ((c = getopt(argc, argv, "e")) != -1) { ... (3 Replies)
Discussion started by: anpufeng
3 Replies

2. Programming

POSIX Message Queue Memory Allocation

Hi, I wanted to know whether the POSIX message queues are statically allocated memory by the kernel based on the parameters specified in the open or as and when we send messages, memory are allocated? Does the kernel reserve the specified memory for the message queue irrespective of whether... (1 Reply)
Discussion started by: sumtata
1 Replies

3. Programming

Please help:program hang stuck there signal handling on POSIX Message Queue UNIX C programming

in a single main() function,so need signal handling. Use Posix Message Queue IPC mechanism , can ignore the priority and other linked list message,to implement the scenario: client:Knock Knock server:who's there client: Eric Server:Eric,Welcome. client:exit all process terminated ... (1 Reply)
Discussion started by: ouou
1 Replies

4. Programming

POSIX mq_receive issue: Message too long

Hello, I am trying to implement posix message queue application. I am faced with an error on the mq_receive section. It says "Message too long". I've tried couple of small tweeks, but to no result. Please do suggest any rectificaitons. mq_send section-works successfully #include... (2 Replies)
Discussion started by: katwalatapan
2 Replies

5. Programming

Message Queue Problem

Hi all, I need help about message queues, i have a server-client program that communicates each other via msg queue, firstly server opens its msg queue and waits for msg then client opens server msg queue and its own msg queue(for receiving msg from server,clients sends msg to server msg... (7 Replies)
Discussion started by: SaTYR
7 Replies

6. Programming

How to limit max no of message in a posix message queue

Hii can anyone pls tell how to limit the max no of message in a posix message queue. I have made changes in proc/sys/fs/mqueue/msg_max But still whenever i try to read the value of max. message in the queue using attr.mq_curmsgs (where struct mq_attr attr) its giving the default value as 10.... (0 Replies)
Discussion started by: mohit3884
0 Replies

7. Programming

message queue

Hello, i need to write a message queue "chat server", that should work only localy. Can anyone please help me with some ideas and peshaps code. I'm studying the UNIX IPC mechanisms right now. So far, i understand how it works but i still cannot get an idea how to write a chat programm... ... (2 Replies)
Discussion started by: etenv
2 Replies

8. HP-UX

posix ipc message queue

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... (6 Replies)
Discussion started by: cadanir
6 Replies

9. UNIX for Advanced & Expert Users

Unix message Queue

Hi, I am working closly with unix message queues i have encountered the following - after creating the Q and start working with it (pushing & pulling) i receive the following stange parameters on the q's - STIME=no_entry Qnum=0 CBYTES=4140 when this happens, the Q is disabled (meaning i... (3 Replies)
Discussion started by: kel
3 Replies

10. Programming

POSIX Message Queue - Settings

How can I increase the POSIX Msg Q parameter SC_MQ_PRIO_MAX? The maximum is defined as 32. Can I increase the number? If so, how? Deepa (0 Replies)
Discussion started by: Deepa
0 Replies
Login or Register to Ask a Question