public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Chris Wood <cwood@xmission.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.4.20, .text.lock.swap cpu usage? (ibm x440)
Date: Wed, 8 Jan 2003 18:57:36 -0800	[thread overview]
Message-ID: <20030109025736.GF23814@holomorphy.com> (raw)
In-Reply-To: <3E1A12B5.4020505@xmission.com>

[-- Attachment #1: brief message --]
[-- Type: text/plain, Size: 760 bytes --]

On Mon, Jan 06, 2003 at 04:35:17PM -0700, Chris Wood wrote:
> With some tips from James Cleverdon (IBM), I turned on some kernel 
> debugging and got the following from readprofile when the server was 
> having problems (truncated to the first 22 lines):
> 16480 total                                      0.0138

Here are some monitoring tools that might help detect the cause of
the situation.

bloatmon is the "back end"; there's no reason to run it directly.

bloatmeter shows the "least utilized" slabs.

bloatmost shows the largest slabs.

These sort of make for a top(1) for "lowmem pressure". Not everything
is accounted there, though. The missing pieces are largely

(1) simultaneous temporary poll table allocations
(2) pmd's
(3) kernel stacks

Bill

[-- Attachment #2: bloatmost --]
[-- Type: text/plain, Size: 110 bytes --]

#!/bin/sh

while true
do
	bloatmon < /proc/slabinfo \
		| sort -rn -k 3,3 \
		| head -22
	sleep 60
	echo
done

[-- Attachment #3: bloatmeter --]
[-- Type: text/plain, Size: 133 bytes --]

#!/bin/sh
while : ; do
	grep -v '^slabinfo' /proc/slabinfo	\
		| bloatmon			\
		| sort -n -k 4,4		\
		| head -22
	sleep 5
	echo
done

[-- Attachment #4: bloatmon --]
[-- Type: text/plain, Size: 413 bytes --]

#!/usr/bin/awk -f
BEGIN {
	printf "%18s    %8s %8s %8s\n", "cache", "active", "alloc", "%util";
}

{
	if ($3 != 0.0) {
		pct  = 100.0 * $2 / $3;
		frac = (10000.0 * $2 / $3) % 100;
	} else {
		pct  = 100.0;
		frac = 0.0;
	}
	active = ($2 * $4)/1024;
	alloc  = ($3 * $4)/1024;
	if ((alloc - active) < 1.0) {
		pct  = 100.0;
		frac = 0.0;
	}
	printf "%18s: %8dKB %8dKB  %3d.%-2d\n", $1, active, alloc, pct, frac;
}

  parent reply	other threads:[~2003-01-09  2:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-06 23:35 2.4.20, .text.lock.swap cpu usage? (ibm x440) Chris Wood
2003-01-06 23:50 ` William Lee Irwin III
2003-01-06 23:52 ` Andrew Morton
2003-01-09 17:17   ` Chris Wood
2003-01-09 20:18     ` Andrew Morton
2003-01-10  0:25       ` William Lee Irwin III
2003-01-10  0:44         ` Brian Tinsley
2003-01-10  0:55           ` William Lee Irwin III
2003-01-10 20:42       ` Chris Wood
2003-01-09  2:20 ` James Cleverdon
2003-01-09  2:57 ` William Lee Irwin III [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-01-10  3:17 Brian Tinsley
2003-01-10  3:29 ` William Lee Irwin III
2003-01-10  3:42   ` Brian Tinsley
2003-01-10  3:54     ` William Lee Irwin III
2003-01-10  4:08       ` Brian Tinsley
2003-01-10  4:19         ` William Lee Irwin III
2003-01-10  4:50           ` Brian Tinsley
2003-01-10  5:17             ` Martin J. Bligh
2003-01-10  5:24             ` William Lee Irwin III
2003-01-10  5:45               ` Brian Tinsley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030109025736.GF23814@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=cwood@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox