Plan 9 from Bell Labs’s /usr/web/sources/contrib/uriel/changes/2006/0309/5

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


kmem(1): new program
 [rsc] --rwxrwxr-x M 303009 rsc sys 468 Mar  9 16:36 rc/bin/kmem
 [rsc] --rw-rw-r-- M 303009 glenda sys 3022 Mar  9 16:36 sys/lib/acid/leak
	[diffs elided - too long]
	[diff -c /n/sourcesdump/2006/0309/plan9/sys/lib/acid/leak /n/sourcesdump/2006/0310/plan9/sys/lib/acid/leak]
 [rsc] --rw-rw-r-- M 303009 glenda sys 3307 Mar  9 16:36 sys/man/1/leak
	/n/sourcesdump/2006/0309/plan9/sys/man/1/leak:19,24 - 
	/n/sourcesdump/2006/0310/plan9/sys/man/1/leak:19,29
	  .I width
	  ]
	  .I pid ...
	+ .PP
	+ .B kmem
	+ [
	+ .I kernel
	+ ]
	  .SH DESCRIPTION
	  .I Leak
	  examines the named processes, which
	/n/sourcesdump/2006/0309/plan9/sys/man/1/leak:57,63 - 
	/n/sourcesdump/2006/0310/plan9/sys/man/1/leak:62,70
	  .PP
	  If the
	  .B -b
	- option is given, leak will print a Plan 9 image file
	+ option is given,
	+ .I leak
	+ will print a Plan 9 image file
	  graphically summarizing the memory arenas.
	  In the image, each pixel represents
	  .I res
	/n/sourcesdump/2006/0309/plan9/sys/man/1/leak:102,107 - 
	/n/sourcesdump/2006/0310/plan9/sys/man/1/leak:109,120
	  processes, and is only necessary
	  when inspecting processes started
	  from stripped binaries.
	+ .PP
	+ .I Kmem
	+ prints a summary of all allocated blocks in the running kernel.
	+ Each line of the summary gives
	+ the count and total size of blocks allocated at an allocation point.
	+ The list is sorted by count in decreasing order.
	  .SH EXAMPLES
	  List lost blocks in 
	  .IR 8.out .
	/n/sourcesdump/2006/0309/plan9/sys/man/1/leak:113,132 - 
	/n/sourcesdump/2006/0310/plan9/sys/man/1/leak:126,153
	  would need editing before sending to the shell.
	  .IP
	  .EX
	- g% leak -s 8.out
	+ % leak -s 8.out
	  leak -s 229 230
	- g% leak -s 8.out | rc
	+ % leak -s 8.out | rc
	  src(0x0000bf1b); // 64
	  src(0x000016f5); // 7
	  src(0x0000a988); // 7
	- g%
	+ %
	  .EE
	  .LP
	  View the memory usage graphic for the window system.
	  .IP
	  .EX
	- g% leak -b rio | rc | page
	+ % leak -b rio | rc | page
	  .EE
	+ .PP
	+ List the top allocation points in the kernel,
	+ first by count and then by total size:
	+ .IP
	+ .EX
	+ % kmem | sed 10q
	+ % kmem | sort -nr +1 | sed 10q
	+ .EE
	  .SH SOURCE
	  .B /sys/lib/acid/leak
	  .br
	/n/sourcesdump/2006/0309/plan9/sys/man/1/leak:133,141 - 
	/n/sourcesdump/2006/0310/plan9/sys/man/1/leak:154,169
	  .B /sys/src/cmd/aux/acidleak.c
	  .br
	  .B /rc/bin/leak
	+ .br
	+ .B /rc/bin/kmem
	  .SH BUGS
	- Leak depends on the internal structure of the
	+ .I Leak
	+ and
	+ .I kmem
	+ depend on the internal structure of the
	  libc pool memory allocator (see 
	  .IR pool (2)).
	  Since the ANSI/POSIX environment uses a different
	- allocator, leak will not work on APE programs.
	+ allocator,
	+ .I leak
	+ will not work on APE programs.


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].