Matthijs,

thank you for your detailed description:

Matthijs van der Klip wrote:
[[...]]

I'd like to start with the following:

http://lists.debian.org/debian-kernel/2004/12/msg00410.html

This implies I'm not the only one strugling with 'Active' memory on a 2.6 kernel. Interesting detail: the problem report is issued by a MySQL developer named Ingo Strüwing, maybe you know him? Either way, I already contacted him to share my experiences.

I know him very well :-)
If Ingo does not have an answer, I will probably have none either.


Furthermore I have started a thread on the Fedora mailing list about this, as it seems to be related to somewhat whacky memory management.

Now back to the problem, what I've found out is basically the following:

- When doing a malloc call it appears the requested amount of memory is tested against the total amount of memory minus the amount of 'Active' (according to /proc/meminfo) memory. [[...]]

- Interestingly enough it is perfectly possible to allocate multiple 2GB blocks in above situation. This can be done almost without limit, [[...]]

- Even more interesting is the fact that 'fillmem' is in fact able to reclaim the Active memory. [[...]]

This is quite a detailed description, IMHO.


Now the only question that remains is why the Active memory goes close to zero when exiting fillmem and is not when ending a compile run. I asked

Again IMHO, it shows an error in memory management.

this question on the Fedora list to find out if this is a normal situation or if there could be a memory leak somewhere in the compiler, linker etc

"Memory leak" typically means that a process acquired additional memory, does not use it any longer but also does not return it for future allocations. So the process' memory consumption would grow, but at its exit the system would make all that memory available again. AIUI, what you describe is that it does _not_ become available after process exit, but this is a system issue and not internal to the application process / program.

chain. In the meanwhile I can use the mentioned workaround, but it's still a bit weird situation.

I agree.


Have you ever tried to wait a bit after a failing restart and then
attempt it again, rather than rebooting?


We have waited up to 48 hours, but alas the Active memory never returned...

So my assumption of delayed releasing was wrong. Sorry I cannot help.


Regards,
Jörg

--
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to