VM: killing process - How to identify the problem

Previous thread: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added) by Remy Bohmer on Tuesday, May 20, 2008 - 1:56 pm. (5 messages)

Next thread: [git pull] drivers/dma: fixups for 2.6.26-rc by Dan Williams on Tuesday, May 20, 2008 - 2:16 pm. (1 message)
From: Mudeem Siddiqui
Date: Tuesday, May 20, 2008 - 2:10 pm

Hi all, 

I have linux 2.4.25 on a mips processor. Other than my application, the
other processes that are running on the system are udhcpd, dhcpd,
mini_dns etc. The applicaiton is quite memory intensive, it has
allocated 5 MB of a buffer which acts as a queue and the applicaiton
queues and de-queues packets in the queue at frequents intervals. The
memory for this buffer is allocated just once when the application
starts at the time of boot. So I would assume that there would be quite
a lot of paging going on. 

The issue is that randomly the application gets killed, there is no
segmnetation fault or anything and if I look at /var/log/messages I see
quite a lot of 

__alloc_pages: 0-order allocation failed 
__alloc_pages: 0-order allocation failed 
__alloc_pages: 0-order allocation failed 


and then 

VM: killing process 

I have read that the application can be killed if the kernel is not able
to service the paging request or oom-killer can also kill the process.
How can I confirm that one of these is happening? I want to identify the
root cause of the application crash before experimenting like increasing
the swap space or even disable the oom-killer (i don't know if that
would be a good idea though). Any suggestions 

Thanks 
Mudeem 
--

From: Jiri Slaby
Date: Wednesday, May 21, 2008 - 12:44 am

Caused by out of memory, a page fault couldn't be serviced due to memory 
exhaustion. See arch/mips/mm/fault.c.
--

From: Mudeem Siddiqui
Date: Wednesday, May 21, 2008 - 12:30 pm

>Just curious, is is a typo?


Can this condition arise due to some other reason other than memory
leak. E.g the way the paging is being done etc because the application
calls malloc only once when it starts. I have been struggling with this
for quite a while, how would you recommend I should try to solve this?

Thanks
--

Previous thread: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added) by Remy Bohmer on Tuesday, May 20, 2008 - 1:56 pm. (5 messages)

Next thread: [git pull] drivers/dma: fixups for 2.6.26-rc by Dan Williams on Tuesday, May 20, 2008 - 2:16 pm. (1 message)