From 2959e1ede0ebc6fdffd7b8660f43c2ce14c9696f Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 17:14:36 +0300 Subject: Import sources from 2011-03-30 iso image - rc --- rc/bin/kmem | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 rc/bin/kmem (limited to 'rc/bin/kmem') diff --git a/rc/bin/kmem b/rc/bin/kmem new file mode 100755 index 000000000..573e70b89 --- /dev/null +++ b/rc/bin/kmem @@ -0,0 +1,31 @@ +#!/bin/rc +# kmem [kernel] - print summary of allocate blocks in running kernel +rfork e +if(! ~ $#* 0 1){ + echo 'usage: kmem [kernel]' >[1=2] + exit usage +} + +if(~ $#* 1) + binary=$1 + +echo 'kinit(); blocksummary()' | acid -k -lkernel -lpool -lleak $pid $binary | awk ' + $1 == "block" { + addr=$6 + size=$3 + alloc=$4 + total[alloc] += size + count[alloc]++ + } + $1 == "summary" { + alloc=$2 + cnt=$3 + size=$4 + total[alloc] += size + count[alloc] += cnt + } + END{ + for(i in count) + printf("%6d %11d %s\n", count[i], total[i], i); + } +' | sort -nr -- cgit v1.2.3