pmadvise man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=pmadvise&af=0&tf=2&of=SmartOS

PMADVISE(1)							   PMADVISE(1)

NAME
       pmadvise - applies advice about memory to a process

SYNOPSIS
       pmadvise -o option[,option] [-F] [-l] [-v] pid...

DESCRIPTION
       pmadvise	 applies  advice  about	 how  memory  is used in the specified
       process using madvise(3C).

       pmadvise allows users to apply advice to a specific sub-range at a spe‐
       cific  instant  in  time.  pmadvise  differs  from madv.so.1(1) in that
       madv.so.1(1) applies the advice throughout execution of the target pro‐
       gram to all segments of a specified type.

OPTIONS
       The following options are supported:

       -F
	     Force  by grabbing the target process even if another process has
	     control.

	     You should	 exercise  caution  when  using	 the  -F  option.  See
	     proc(1).

       -l
	     Show unresolved dynamic linker map names.

       -o
	     Specify advice to apply in the following form:

	       private=advice
	       shared=advice
	       heap=advice
	       stack=advice
	       address[:length]=advice

	     where the advice can be one of the following:

	       normal
	       random
	       sequential
	       willneed
	       dontneed
	       free
	       access_lwp
	       access_many
	       access_default

	     An address and length can be given to specify a subrange to apply
	     the advice.The address  should  be	 hexadecimal  and  the	length
	     should be in bytes by default.

	     If length is not specified and the starting address refers to the
	     start of a segment, the advice is applied to that segment. length
	     can  be  qualified	 by  K, M, G, T, P, or E to specify kilobytes,
	     megabytes, gigabytes, terabytes, or exabytes respectively as  the
	     unit of measure.

       -v
	     Print  verbose  output.  Display  output as pmap(1) does, showing
	     what advice is being applied where. This can be useful  when  the
	     advice  is being applied to a named region (for example, private,
	     shared, and so forth) to get feedback on exactly where the advice
	     is being applied.

       pmadvise	 tries	to  process  all  legal options. If an illegal address
       range is specified, an error  message  is  printed  and	the  offending
       option  is  skipped.  pmadvise quits without processing any options and
       prints a usage message when there is a syntax error.

       If conflicting advice is given on a region, the order of precedence  is
       from  most  specific  advice  to least, that is, most general. In other
       words, advice specified for a particuliar address  range	 takes	prece‐
       dence  over  advice  for	 heap and stack which in turn takes precedence
       over advice for private and shared memory.

       Moreover, the advice in each  of	 the  following	 groups	 are  mutually
       exclusive from the other advice within the same group:

	 MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL
	 MADV_WILLNEED, MADV_DONTNEED, MADV_FREE
	 MADV_ACCESS_DEFAULT, MADV_ACCESS_LWP, MADV_ACCESS_MANY

OPERANDS
       The following operands are supported:

       pid
	      Process ID.

EXAMPLES
       Example 1 Applying Advice to a Segment at Specified Address

       The  following  example	applies	 advice	 to  a	segment at a specified
       address:

	 % pmap $$
	 100666: tcsh
	 00010000     312K r-x--  /usr/bin/tcsh
	 0006C000      48K rwx--  /usr/bin/tcsh
	 00078000     536K rwx--    [ heap ]
	 FF100000     856K r-x--  /lib/libc.so.1
	 FF1E6000      32K rwx--  /lib/libc.so.1
	 FF1EE000	8K rwx--  /lib/libc.so.1
	 FF230000     168K r-x--  /lib/libcurses.so.1
	 FF26A000      32K rwx--  /lib/libcurses.so.1
	 FF272000	8K rwx--  /lib/libcurses.so.1
	 FF280000     576K r-x--  /lib/libnsl.so.1
	 FF310000      40K rwx--  /lib/libnsl.so.1
	 FF31A000      24K rwx--  /lib/libnsl.so.1
	 FF364000	8K rwxs-    [ anon ]
	 FF370000      48K r-x--  /lib/libsocket.so.1
	 FF38C000	8K rwx--  /lib/libsocket.so.1
	 FF3A0000	8K r-x--  /platform/sun4u-us3/lib/libc_psr.so.1
	 FF3B0000     176K r-x--  /lib/ld.so.1
	 FF3EC000	8K rwx--  /lib/ld.so.1
	 FF3EE000	8K rwx--  /lib/ld.so.1
	 FFBE6000     104K rw---    [ stack ]
	 %
	 % pmadvise -o 78000=access_lwp $$

	 %

       Example 2 Using the -v Option

       The following example displays verbose output from pmadvise:

	 % pmadvise -o heap=access_lwp,stack=access_default -v $$
	 1720:	 -sh
	 00010000      88K r-x--  /sbin/sh
	 00036000	8K rwx--  /sbin/sh
	 00038000      16K rwx--    [ heap ]	       <= access_lwp
	 FF250000      24K r-x--  /lib/libgen.so.1
	 FF266000	8K rwx--  /lib/libgen.so.1
	 FF272000	8K rwxs-    [ anon ]
	 FF280000     840K r-x--  /lib/libc.so.1
	 FF362000      32K rwx--  /lib/libc.so.1
	 FF36A000      16K rwx--  /lib/libc.so.1
	 FF380000	8K r-x--  /platform/sun4u-us3/lib/libc_psr.so.1
	 FF390000      64K rwx--    [ anon ]
	 FF3B0000     168K r-x--  /lib/ld.so.1
	 FF3EA000	8K rwx--  /lib/ld.so.1
	 FF3EC000	8K rwx--  /lib/ld.so.1
	 FFBFE000	8K rw---    [ stack ]	       <= access_default

EXIT STATUS
       The following exit values are returned:

       0
		   Successful completion.

       non-zero
		   An error occurred.

FILES
       /proc/*
			  Process files

       /usr/prob/lib/*
			  proc tools support files

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ See below.      │
       └────────────────────┴─────────────────┘

       The command syntax is Evolving. The output formats are Unstable.

SEE ALSO
       madv.so.1(1), pmap(1), proc(1), madvise(3C), attributes(5)

				 Sep 25, 2008			   PMADVISE(1)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net