Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a implementation where the hardware dispatches 300 packets every second to a host application through DMA transfer and then to the host application's message queue.

When packets are sent at high rate to the app, I see that the app is not receiving one or two packets like this. When I use tcpdump, I see that all packets are posted to the host. But how do i know whether where the packet was dropped? Using debug prints will consume CPU usage and not be easy as well.

Can I find out how many messages that I received on that message queue? Using ipcs -q commmand does not list anything.

share|improve this question

SysV messages queues are small by default, on my system ipcs -l displays:

$ ipcs -l
------ Messages: Limits --------
max queues system wide = 7890
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384

The corresponding sysctl entries being:

kernel.msgmni = 7890
kernel.msgmax = 8192
kernel.msgmnb = 16384

Depending on how big the messages are, you might hit some of these limits.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.