Messages in this thread | | | Date | Thu, 18 Feb 2010 09:39:33 -0600 | From | "Chris Friesen" <> | Subject | Re: tracking memory usage/leak in "inactive" field in /proc/meminfo? -- solved |
| |
On 02/16/2010 04:22 PM, Rik van Riel wrote: > On 02/16/2010 04:26 PM, Chris Friesen wrote: > >> For the backtrace scenario I posted it seems like it might actually be >> release_pages(). There seems to be a plausible call chain: >> >> __ClearPageLRU >> release_pages >> free_pages_and_swap_cache >> tlb_flush_mmu >> tlb_remove_page >> zap_pte_range >> >> Does that seem right? In this case, tlb_remove_page() is called right >> after page_remove_rmap() which ultimately results in clearing the >> PageAnon bit. > > That is right - and pinpoints the fault for the memory leak > on some third party code that fails to release a refcount on > memory pages.
I think I've tracked down the source of the problem. Turns out one of our vendors had misapplied a patch which ended up bumping the page count an extra time.
Thanks to everyone that helped out.
Chris
| |