MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


User Commands                                         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 specific instant in time. pmadvise differs from
     madv.so.1(1)  in  that  madv.so.1(1)  applies   the   advice
     throughout  execution  of the target program 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
             accesslwp
             accessmany
             accessdefault




SunOS 5.11          Last change: 25 Sep 2008                    1






User Commands                                         pmadvise(1)



           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 pro-
     cessing 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  parti-
     culiar  address  range takes precedence 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:

       MADVNORMAL, MADVRANDOM, MADVSEQUENTIAL
       MADVWILNED, MADVDONTNED, MADVFRE
       MADVACESDEFAULT, MADVACESLWP, MADVACESMANY



OPERANDS
     The following operands are supported:

     pid    Process ID.




SunOS 5.11          Last change: 25 Sep 2008                    2






User Commands                                         pmadvise(1)



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 ]
       F100000     856K r-x--  /lib/libc.so.1
       F1E6000      32K rwx--  /lib/libc.so.1
       F1E000       8K rwx--  /lib/libc.so.1
       F230000     168K r-x--  /lib/libcurses.so.1
       F26A000      32K rwx--  /lib/libcurses.so.1
       F272000       8K rwx--  /lib/libcurses.so.1
       F280000     576K r-x--  /lib/libnsl.so.1
       F310000      40K rwx--  /lib/libnsl.so.1
       F31A000      24K rwx--  /lib/libnsl.so.1
       F364000       8K rwxs-    [ anon ]
       F370000      48K r-x--  /lib/libsocket.so.1
       F38C000       8K rwx--  /lib/libsocket.so.1
       F3A0000       8K r-x--  /platform/sun4u-us3/lib/libcpsr.so.1
       F3B0000     176K r-x--  /lib/ld.so.1
       F3EC000       8K rwx--  /lib/ld.so.1
       F3E000       8K rwx--  /lib/ld.so.1
       FBE6000     104K rw---    [ stack ]
       %
       % pmadvise -o 78000=accesslwp $$

       %



     Example 2 Using the -v Option


     The following example displays verbose output from pmadvise:



       % pmadvise -o heap=accesslwp,stack=accessdefault -v $$
       1720:   -sh
       00010000      88K r-x--  /sbin/sh
       00036000       8K rwx--  /sbin/sh
       00038000      16K rwx--    [ heap ]           <= accesslwp
       F250000      24K r-x--  /lib/libgen.so.1
       F266000       8K rwx--  /lib/libgen.so.1
       F272000       8K rwxs-    [ anon ]



SunOS 5.11          Last change: 25 Sep 2008                    3






User Commands                                         pmadvise(1)



       F280000     840K r-x--  /lib/libc.so.1
       F362000      32K rwx--  /lib/libc.so.1
       F36A000      16K rwx--  /lib/libc.so.1
       F380000       8K r-x--  /platform/sun4u-us3/lib/libcpsr.so.1
       F390000      64K rwx--    [ anon ]
       F3B0000     168K r-x--  /lib/ld.so.1
       F3EA000       8K rwx--  /lib/ld.so.1
       F3EC000       8K rwx--  /lib/ld.so.1
       FBFE000       8K rw---    [ stack ]          <= accessdefault



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


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWesu                     
    
     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)






SunOS 5.11          Last change: 25 Sep 2008                    4



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™