Skip site navigation (1)Skip section navigation (2)
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>