[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] RAM consumption
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] RAM consumption |
Date: |
Sun, 24 Oct 2010 09:35:38 -0700 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Sun, Oct 24, 2010 at 09:19:25AM -0700, David Knox wrote:
>
> I am running some Zigbee code from UCLA with some modifications of my own...
> When I run the (modified) code, RAM is slowly (but surely) consumed with
> high CPU usage. After about half an hour, the CPU/RAM monitor shows 100%
> RAM usage and then operation stalls and CPU usage drops down once again to
> quiescent levels, with RAM remaining tied up until the program is ended
> (ctrl-C). Until the stall, program operation appears to be correct.
>
> I have reviewed the code by hand for memory leaks and also used some of the
> tools available for detecting memory leaks without any results. Has anyone
> else had similar problems and, if so, how did they debug them? Is this kind
> of inexorable creep of system memory usage symptomatic of anything else?
> Within GnuRadio, is there any method for quickly determining how program
> memory (heap space) or data memory is being consumed?
99% of the base code distributed with GNU Radio (runtime + blocks)
allocates NO MEMORY once the flow graph has started (see below for
exceptions).
DO NOT use a vector_sink for anything other than QA code that
produces a small amount of output. The vector_sink will allocate an
unbounded amount of memory if you keep writing to it.
It is also possible to consume memory by sending an unbounded number
of messages into a message queue (gr.msg_queue) that doesn't have a
queue size limit and has a slow (or compute bound) reader.
If there's a GUI of any kind involved, or python code that's being
executed beyond initialization time, look there for problems.
Eric