Kernel Out of memory with NI PCI-6731

I've been using comedi for about 4 months with great success, except for
one little memory problem.  I have a dual P4 server with 1GB of memory
setup running CentOS 4.0 and a 2.6.9 kernel.  I installed a NI PCI-6731,
comedi, and comedilib and a program I wrote based on ao_waveform and
started running it as a long-term process using the ni_pcimio driver.
After about 3-4 weeks, the machine stopped responding and the screen had
a kernel message "Kernel: Out of memory".  I thought that was odd and
perhaps a fluke, so I just rebooted the machine.  I started monitoring
the memory usage more closely, and the memory slowly went from 1GB free
to about 24 megabytes.  After about 3 weeks, the Kernel out of memory
message popped up when the system locked.  The program I wrote didn't
have any dynamic memory allocations (malloc or vmalloc), so I was pretty
sure it wasn't my code.
 
Yesterday, I setup another low-end box (P2 with 128MB of memory) with
the same OS and just ran "ao_waveform -F 38400" in inittab.  38400 is
the sampling rate I'm using in my application.  In one night, the memory
went from 28MB to 1.4MB.  It hasn't locked up yet, but I'm keeping my
eye on it.  On both systems, the swap doesn't get used at all.
 
I wrote a set of macros to log memory allocations in both comedi and
comedilib.  I ran them for 24 hours on the P4 with 1GB of memory, and it
looked like all allocations were getting freed.  Any thoughts?  If you
need more information, please let me know.
 
Thanks a bunch in advance,
Ben
 
Benjamin Pillet
NavCom Technology, Inc.
20780 Madrona Ave.
Torrance, CA 90503
 

Received on 2005-11-08Z18:16:09