*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> kmem_debug (1)              
Title
Content
Arch
Section
 

Contents


kmem_debug(1M)							kmem_debug(1M)


NAME    [Toc]    [Back]

     kmem_debug	- kernel memory	debug module

DESCRIPTION    [Toc]    [Back]

     kmem_debug	is a kernel memory debug module	used to	debug kernel memory.
     It	is intended to be used only by those involved in writing and debugging
     device drivers or other parts of the kernel.

     To	use kmem_debug,	several	steps must be taken to prepare the system:

     1.	  kmem_debug must be manually installed	by the user because it is not
	  installed on the system as shipped from the factory.	kmem_debug is
	  only available if eoe.sw.kdebug has been installed.

     2.	  Alterations must be made to the file /var/sysgen/system/irix.sm to
	  build	a kernel capable of being debugged. kmem must be replaced with
	  kmem_debug in	the /var/sysgen/system/irix.sm file.

	  Specifically the line

	  INCLUDE: kmem

	  must be changed to

	  INCLUDE: kmem_debug

     3.	  The program autoconfig(1M) must be run to generate a new kernel, and
	  the system must be rebooted.

     There are three kernel tuneable parameters	which direct the actions of
     the kmem_debug module.

     1.kmem_make_zones_private_min
	  This tuneable	indicates the lower bound of the range of zones	to
	  split.

     2.kmem_make_zones_private_max
	  This tuneable	indicates the upper bound of the range to split.  The
	  min and max tuneables	split up the zones, but	do not make them
	  private and do not show the structures which use those zones.	 In
	  order	to do that you may want	to use kmem_split_zone.

     3.kmem_split_zone
	  If you suspect there is a memory leak	in a particular	zone, set
	  kmem_split_zone to that zone size.  It makes the zone	for that size
	  private. It shows a separate structure for each zone.	 You must
	  remake the kernel and	reboot for this	tuneable to start working.
	  You may then use icrash to look at the zone, or run the tool
	  memleak(1M) to generate a report indicating whether there are	memory
	  leaks.





									Page 1






kmem_debug(1M)							kmem_debug(1M)


NOTES    [Toc]    [Back]

     Zone memory consists of a number of zones of differing sizes.  Since
     there is limited table space for zones, structures	with sizes close to
     each other	are lumped together in the same	zone.  For example, structures
     that have a size of 712 bytes may be put into the zone listed as size
     768.  In cases like this, you may need to know the	exact size of the
     structure you wish	to split when using kmem_split_zone.  kmem_split_zone
     should not	be used	with kmem_make_zones_private_max and
     kmem_make_zones_private_min.  There is limited table space	for zones and
     using all three tuneables may result in the configuration of an
     unbootable	kernel.

SEE ALSO    [Toc]    [Back]

      
      
     memleak(1M).


									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
setsym IRIX set up a debug kernel for symbolic debugging
modstat FreeBSD get status of kernel module
modload OpenBSD load a kernel module
modunload OpenBSD unload a kernel module
arp Linux Linux ARP kernel module.
MODULE_VERSION FreeBSD set kernel module version
MODULE_DEPEND FreeBSD set kernel module dependencies
modnext FreeBSD return the modid of the next kernel module
insmod Linux install loadable kernel module
modinfo Linux display information about a kernel module
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service