Re: sysfs_dir_cache growing out of control

Andrew Morton
2007-09-05T16:04:32Z

> On Fri, 24 Aug 2007 03:26:50 +0200 Gabriel C <nix.or.die@googlemail.com> wrote:
> Greg KH wrote:
> > On Thu, Aug 23, 2007 at 08:44:10PM -0400, Joel Fuster wrote:
> >> Greg KH wrote:
> >>> On Wed, Aug 22, 2007 at 11:56:44PM -0400, Joel Fuster wrote:
> >>>> Joel Fuster wrote:
> >>>>> Hi,
> >>>>> I am running 2.6.22.3. For reasons that escape me, over time (days) the
> >>>>> sysfs_dir_cache, dentry, and inode_cache SLUB entries grow until they
> >>>>> consume all the memory on my system, requiring a reboot.
> >>> Hm, those items should consume all the memory, but it should be freed if
> >>> you have memory pressure from other places. Does it cause the machine
> >>> to lock up, or you just got scared when seeing them?
> >> Right. The problem is that the memory never seems to get freed no matter
> >> what I do. I've tried setting /proc/sys/vm/vfs_cache_pressure to 10000,
> >> but after a few days all my programs are running out of swap and I have to
> >> reboot to get things back to a usable state.
> >>
> >>> Oh, and does the same thing happen if you do not use SLUB, but rather
> >>> the older SLAB?
> >> OK I just rebuilt 2.6.22.3 with SLAB and I seem to be getting the same
> >> result..obviously I haven't waited several days, but
> >> sysfs_dir_cache/dentry/inode_cache grow continuously when scanbuttond is
> >> running, and stop growing when it isn't.
> >
> > Do you have a pointer to the scanbuttond source code? I'll try to take
> > a look at this tomorrow.
> >

that was a long day?

> I guess this one :
>
> https://sourceforge.net/projects/scanbuttond/

I needed `setenv LD_LIBRARY_PATH /usr/local/lib' to be able to run
`scanbuttond -p 1000'

and after a few minutes I'm seeing zero growth of
/proc/spabinfo:sysfs_dir_cache over a few minutes, with 2.6.23-rc4.
Perhaps it's a specific device driver?