[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cannot allocate memory
Daniel Fraile Vergel wrote:
> Hi, I am involved in the design of a control system for a CWDM
> equipment. I am using SNMP protocol, so I've write a little snmp daemon.
> This software works fine in my PC, it compiles without errors with gcc
> compiler. When I run the daemon, a memory allocation error (snmpd: error
> while loading shared libraries: libsnmp.so.3: cannot load shared object
> file: Cannot allocate memory) raises and the application crashes.
> I'm using an standard devboard lx, with 8mb of memory. Could someone
> tell me what I'm doing wrong?. If I need to increase the amount of
> memory available, what chip is necessary?, and how I replace the chip?
I don't know if you're doing anything wrong, but there are a couple of
things that can help you reduce the memory usage. First of all,
depending on how you build and install your application and libraries,
you might want to check that they are stripped. (This can be done
manually with 'strip-cris --strip-unneeded'; normally it's done
automatically during 'make install'.) The other thing might be to link
statically against one or more of the libraries your snmp deamon uses.
For example, instead of just linking against libsnmp, you can wrap it in
something like this: -Wl,-Bstatic -lsnmp -Wl,-Bdynamic. This can be
beneficial if only one application uses a library, and only small
portions of it.