Messages in this thread | | | Date | Wed, 22 Aug 2001 12:43:22 +0200 | From | Stephan von Krawczynski <> | Subject | Re: Memory Problem in 2.4.9 ? |
| |
On Wed, 22 Aug 2001 03:13:23 +0200 Daniel Phillips <phillips@bonn-fries.net> wrote:
> Oops, yes, I forgot for the moment that we no longer age up in > __find_page_nolock. Lets try this instead, which should capture the intended > effect of requiring 4 hits to activate a page (n.b., it's just a test): > > --- ../2.4.9.clean/mm/filemap.c Thu Aug 16 14:12:07 2001 > +++ ./mm/filemap.c Wed Aug 22 02:02:24 2001 > @@ -980,10 +980,9 @@ > static inline void check_used_once (struct page *page) > { > if (!PageActive(page)) { > - if (page->age) > + if (++page->age >= 4) > activate_page(page); > else { > - page->age = PAGE_AGE_START; > ClearPageReferenced(page); > } > } >
Ok. I applied this patch. What I experience is this:
meminfo Before test:
total: used: free: shared: buffers: cached: Mem: 921726976 87789568 833937408 0 6705152 37306368 Swap: 271392768 0 271392768 MemTotal: 900124 kB MemFree: 814392 kB MemShared: 0 kB Buffers: 6548 kB Cached: 36432 kB SwapCached: 0 kB Active: 2944 kB Inact_dirty: 40036 kB Inact_clean: 0 kB Inact_target: 868 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 900124 kB LowFree: 814392 kB SwapTotal: 265032 kB SwapFree: 265032 kB
meminfo after test: total: used: free: shared: buffers: cached: Mem: 921726976 918429696 3297280 0 9211904 792858624 Swap: 271392768 0 271392768 MemTotal: 900124 kB MemFree: 3220 kB MemShared: 0 kB Buffers: 8996 kB Cached: 774276 kB SwapCached: 0 kB Active: 46776 kB Inact_dirty: 731852 kB Inact_clean: 4644 kB Inact_target: 8460 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 900124 kB LowFree: 3220 kB SwapTotal: 265032 kB SwapFree: 265032 kB
I see the cache grow slowly but constantly during file-copy. I stopped the test, when the first errors occured from NFS at client side (cp: /backup/Aug/day_18_10.gz: Stale NFS file handle). Interestingly the errors came up, when all physical memory was eaten up by the cache, the free section was very low, but no swapping occured (swap _is_ turned on). I could copy 766389 kB in total which looks roughly like cached-value. I guess there is simply no release done. Does the aging algorithm really work (as expected)?
Regards, Stephan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |