From owner-freebsd-hackers Sun Nov 3 03:03:20 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id DAA14884 for hackers-outgoing; Sun, 3 Nov 1996 03:03:20 -0800 (PST) Received: from cheops.anu.edu.au (avalon@cheops.anu.edu.au [150.203.76.24]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id DAA14877 for ; Sun, 3 Nov 1996 03:03:15 -0800 (PST) Message-Id: <199611031103.DAA14877@freefall.freebsd.org> Received: by cheops.anu.edu.au (1.37.109.16/16.2) id AA042758993; Sun, 3 Nov 1996 22:03:13 +1100 From: Darren Reed Subject: Re: "Thrashing" index To: julian@whistle.com (Julian Elischer) Date: Sun, 3 Nov 1996 22:03:13 +1100 (EDT) Cc: hackers@freebsd.org In-Reply-To: <3278025C.41C67EA6@whistle.com> from "Julian Elischer" at Oct 30, 96 05:35:24 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk In some mail from Julian Elischer, sie said: > > Does anyone have any ideas on how to describe or detirmine the > amount of thrashing going on on a machine? > > one thing I can think of would be to count the number of processes > sitting in 'vmwait' state, or to look at teh page-in and page-out > numbers, but hte problem with the second approach is that > you need to look twice separated by a time period, to detirmine if the > system is doing a lot of work and should not be asked to do more... > > basically I'm trying to make the system self limit when memory starts > to become in short supply, in combination with a few other events. > > for example.. If the cpu idle time is high, but there is not much > memory free, and there are processes in vmwait, then it's probably > not a good idea to launch more processes, as the system is probably > thrashing.. > > another index might be to find out how long it takes to allocate an 8K > region or similar.. > > but I think I'd like to find some way that you can look at (say) > 3 or 4 static indeces instantly available (e.g. through /proc or sysctl) > and munge them into a go/no-go decision for launching more work. So how do you, as the sys admin login or if logged in do anything about it ?