From owner-freebsd-stable@FreeBSD.ORG Mon Feb 28 18:50:44 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 87E5716A4CE for ; Mon, 28 Feb 2005 18:50:44 +0000 (GMT) Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CBFF43D31 for ; Mon, 28 Feb 2005 18:50:44 +0000 (GMT) (envelope-from dan@dan.emsphone.com) Received: (from dan@localhost) by dan.emsphone.com (8.13.1/8.13.1) id j1SIogFb065822; Mon, 28 Feb 2005 12:50:42 -0600 (CST) (envelope-from dan) Date: Mon, 28 Feb 2005 12:50:42 -0600 From: Dan Nelson To: Jeff Behl Message-ID: <20050228185042.GH8778@dan.emsphone.com> References: <422366DE.6020001@fastclick.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <422366DE.6020001@fastclick.com> X-OS: FreeBSD 5.3-STABLE X-message-flag: Outlook Error User-Agent: Mutt/1.5.8i cc: freebsd-stable@freebsd.org Subject: Re: vmstat/iostat/top all fail to report CPU usage X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Feb 2005 18:50:44 -0000 In the last episode (Feb 28), Jeff Behl said: > as reported in bug: bin/60385 > > this is still occurring in almost all of our systems, even those at > stable, and is pretty major issue. any known progress on this? we're > running ibm e325 servers. > > FreeBSD www3 5.3-STABLE FreeBSD 5.3-STABLE #1: Tue Feb 15 10:09:17 PST > 2005 root@www3.cdn.sjc:/usr/obj/usr/src/sys/SMP amd64 Here's the workaround I use on a machine here that loses its stat clock after a week or so of uptime. Put this in /etc/crontab: # Flaky clock. Check it every 5 minutes. */5 * * * * root /usr/local/bin/fixrtc .. and this in /usr/local/bin/fixrtc: #! /bin/sh # get the interrupt rate for the stat clock over one second getticks() { ( vmstat -i ; sleep 1 ; vmstat -i ) | awk '/rtc/ { if (sum) sum+=$3; else sum-=$3 } END { print sum }' } ticks=$(getticks) # It should be firing at 128 hz. If not, kick it if [ $ticks -lt 64 ] ; then echo "Stat clock has died. Attempting to reset." echo /etc/rc.d/ntpd stop echo /usr/sbin/ntpdate -b ntp.pool.org echo /etc/rc.d/ntpd start echo echo "RTC interrupt rate is now $(getticks)" fi -- Dan Nelson dnelson@allantgroup.com