Date: Tue, 25 Jun 1996 05:11:18 +0200 (MET DST) From: Juergen Lock <nox@jelal.hb.north.de> To: dunn@harborcom.net Cc: stable@freebsd.org Subject: Re: lockups. Message-ID: <199606250311.FAA10595@saturn.hb.north.de> In-Reply-To: <199606220255.WAA01574@ns2.harborcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <199606220255.WAA01574@ns2.harborcom.net> you write: >system: >P120, 64MB, 300MB swap, 3 scsi drives on two bt946c's > >Same problem. Freezing about three times daily. Latest sources. I am >going to recompile with the debugging options and see if I can find >anything. It doesn't panic, it just freezes. > >On 21 Jun 96 at 19:22, faried nawaz wrote: >> pentium 100, 32mb ram (a web server) >> 4 scsi drives on two scsi controllers (bt946c and aha2940w) >> 48 mb swap (only hits the max swap when there's a messed up cgi-bin >> running, otherwise stays around 3-10mb) >> >> I'm experiencing lockups. The machine seems to work fine for a >> while, and then locks. I can change terminals on the console >> (syscons), the screensaver works, but the machine's dead to >> network/terminal io. And the (swap) disk(s) are busy no end? thats what i got this weekend having just updated the kernel... then yesterday i looked what actually had changed (not that much), and this is what i'm running now: Index: src/sys/vm/vm_pageout.c =================================================================== RCS file: /home/cvs/cvs/src/sys/vm/vm_pageout.c,v retrieving revision 1.51.4.6 diff -u -r1.51.4.6 vm_pageout.c --- vm_pageout.c 1996/06/19 07:26:57 1.51.4.6 +++ vm_pageout.c 1996/06/24 03:10:55 @@ -901,7 +914,7 @@ swapout_threads(); vm_pageout_req_swapout = 0; } -#if 0 +#if 1 /* * scan the processes for exceeding their rlimits or if * process is swapped out -- deactivate pages @@ -949,5 +962,29 @@ } #endif } + +#if 1 + /* + * we remove cached objects that have no RSS... + */ +restart: + vm_object_cache_lock(); + object = vm_object_cached_list.tqh_first; + while (object) { + vm_object_cache_unlock(); + /* + * if there are no resident pages -- get rid of the object + */ + if (object->resident_page_count == 0) { + if (object != vm_object_lookup(object->pager)) + panic("vm_object_cache_trim: I'm sooo confused."); + pager_cache(object, FALSE); + goto restart; + } + object = object->cached_list.tqe_next; + vm_object_cache_lock(); + } + vm_object_cache_unlock(); +#endif } #endif /* !NO_SWAPPING */ i.e. i put the rss checks back. seems to make one hell of a difference for this system at least... (486dx100, NCR PCI SCSI) of course the comments on that commit said the checks may cause other problems so YMMV. (but at least for me those problems appear to be much less serious than these `lockups' and generally reduced performance i get when the code is not there... and it has been for quite a while now if i'm not mistaken.) oh and a different thing worth trying seems to be option "NO_SWAPPING", but i have not yet. ATB Juergen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606250311.FAA10595>