On Fri, Aug 31, 2007 at 05:57:51AM -0400, Rick Davis wrote: > To try to narrow down my memory issue. I wrote a client program that just > creates a socket, connects to port 80 and then shuts down and closes the > socket. Every time I run it 32 bytes of memory is allocated. If I keep > running the application the memory is consumed. If I let thing sit for > minutes, some of the memory is returned.
This part is normal behaviour. The server socket is not closed immediately. It hangs around for a while so that it can eat any old retry packets for the connection which are still flying around the network. What you don't want is these old packets being injected into a new connection stream. What you need to do is run the test as before. Then stop the client and watch the memory usage. It should slowly decrease as these old sockets are freed after a timeout. Once it is stopped freeing, reached a steady state, you can then investigate what looks like lost memory. You probably want to go searching in the ecos mail archive, eg: http://ecos.sourceware.org/ml/ecos-discuss/2003-10/msg00380.html and http://www.cygwin.com/ml/ecos-discuss/2003-12/msg00181.html Andrew -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss