Date: Tue, 7 Mar 1995 21:10:44 +1000 From: Bruce Evans <bde@zeta.org.au> To: current@FreeBSD.org, phk@ref.tfs.com Subject: Re: the chatterbug categorized Message-ID: <199503071110.VAA13544@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>I belive that David and I have understood the chatterbug, now we just >need to find it and fix it. >What happens is that some vnodes are not properly freed when the vm_object >is freed, this has two effects: one is that the list of free vnodes are >too short to make the name-cache efficient (the chatter) and the other >is that the system will continue to allocate more vnodes, (the gradual >loss of available memory) >Now to isolate it, we need to know when it happens, I can reproduce it here >with: > cd /usr/src/release > make release CHROOTDIR=<500Mb space> There seems to be a problem with the increment of object->ref_count in vm_mmap.c. I isolated the following bad behaviour: after `cp /bin/echo /tmp; chmod 777 /tmp/echo; /tmp/echo; rm /tmp/echo', /tmp/echo becomes an unreferenced file with a v_usecount == 1 because the object->ref_count is 4 or 5 in vm_object_deallocate() so the vnode doesn't get released. It's easy to see the unreferenced file by running fsck. It may be important that my /bin/echo is linked dynamic. ld.so calls mmap() 3 or 4 times. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199503071110.VAA13544>