pmadvise(1) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

pmadvise(1)

pmadvise(1)                      User Commands                     pmadvise(1)

NAME
       pmadvise - applies advice about memory to a process

SYNOPSIS
       pmadvise [-Flv] [-o option[,option]
           [--scale[=item1,item2,...]] 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).


       -h

           On verbose output, memory sizes are scaled to a human readable for‐
           mat. The -h option is equivalent to using the --scale=max,1024  op‐
           tion.


       -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_many_pset
             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 have a fractional part, and can be qualified with a K, M, G, T,
           P, or E scale factor,  denoting  kilobytes,  megabytes,  gigabytes,
           terabytes, petabytes, or exabytes respectively.


       -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.


       --scale[=item1,item2,...]

           On verbose output, memory sizes are scaled to a human readable for‐
           mat,  for  example,  14K,  234M,  2.7G, or 3.0T. Scaling is done by
           repetitively dividing by 1024, unless otherwise specified.  --scale
           specified  without  arguments enables default scaled output, and is
           equivalent to --scale=max,1024. See scale(7)  for  a  complete  de‐
           scription of --scale features.


       -?
       --help

           Print usage message and immediately exit.




       pmadvise  tries  to  process  all  legal options. If an illegal address
       range is specified, an error message is printed and the  offending  op‐
       tion  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 an explicit address range takes  precedence
       over  advice for heap and stack which in turn takes precedence over ad‐
       vice for private and shared memory.


       Moreover, the advice in each of the following groups are  mutually  ex‐
       clusive 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 ad‐
       dress:


         % pmap $$ | grep heap
         00000001AEC8C000    8K rw-----  [ heap ]
         % pmadvise -o 78000=access_lwp $$


       Example 2 Using the -v Option



       The following example displays verbose output from pmadvise. In the in‐
       terest of brevity, some output has been elided.


         % pmadvise -o heap=access_lwp,stack=access_default -v $$
         0000000100000000 1728K r-x----  [ text ] /usr/bin/sh
         00000001001B0000   56K r-x----  [ text ] /usr/bin/sh
         00000001002BE000    8K rwx----  [ data ] /usr/bin/sh
         00000001002C0000   64K rwx----  [ data ] /usr/bin/sh
         00000001002D0000   16K rwx----  [ data ] /usr/bin/sh
         0000000100300000   24K rw-----  [ bss ] /usr/bin/sh
         0000000EEBFC4000    8K rw-----  [ heap ]        <= access_lwp
         0007FCB434C00000 2176K r-x----  [ text ] /lib/sparcv9/libc.so.1
         ...
         0007FCB435000000  704K r-x----  [ text ] /lib/sparcv9/libm.so.2
         ...
         0007FCB435200000  256K r-x----  [ text ] /lib/sparcv9/ld.so.1
         ...
         0007FCB435370000  128K rw-----  [ anon ]
         ...
         FFFFFCFCE72A0000   64K rw-----  [ stack ]       <= access_default
         FFFFFCFCE72B0000   40K rw-----  [ stack ]       <= access_default


EXIT STATUS
       The following exit values are returned:

       0           Successful completion.


       non-zero    An error occurred.


FILES
       /proc/*    Process files


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

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Availabilitysystem/core-os _ Interface StabilitySee be‐
       low.



       The command syntax is Committed. The output formats are Uncommitted.

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

HISTORY
       Support  for  the  -?, -h, --help, and --scale options was added in the
       Oracle Solaris 11.4.42 release.


       The pmadvise command, including support for the -F, -l, -o, and -v  op‐
       tions, was introduced in the Oracle Solaris 11.0.0 release.

Oracle Solaris 11.4               29 Nov 2022                      pmadvise(1)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3