madv.so.1 man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

madv.so.1(1)			 User Commands			  madv.so.1(1)

NAME
       madv.so.1 - madv library

SYNOPSIS
       /usr/lib/madv.so.1

DESCRIPTION
       The madv.so.1 shared object provides a means by which the VM advice can
       be selectively configured for a launched process (or processes) and its
       descendants.  To	 enable	 madv.so.1,  the  following string needs to be
       present in the environment (see ld.so.1(1)) along with one or more MADV
       environment variables:

	 LD_PRELOAD=$LD_PRELOAD:madv.so.1

ENVIRONMENT VARIABLES
       If the madv.so.1 shared object is specified in the LD_PRELOAD list, the
       following environment variables are read by the madv shared  object  to
       determine to which created process(es) to apply the specified advice.

       MADV=advice		  MADV	specifies the VM advice to use for all
				  heap, shared memory, and mmap regions in the
				  process  address		   space. This
				  advice is applied to all created processes.

				  Values for advice correspond	to  values  in
				  <sys/mman.h>	used in madvise(3C) to specify
				  memory access patterns:
				    normal
				    random
				    sequential
				    access_lwp
				    access_many
				    access_default

       MADVCFGFILE=config-file	  config-file is a text	 file  which  contains
				  one  or  more	 madv configuration entries of
				  the form:

				    exec-name exec-args:advice-opts

				  Advice specified in config-file takes prece‐
				  dence	 over that specified by the MADV envi‐
				  ronment variable. When  MADVCFGFILE  is  not
				  set,	  advice    is	  taken	   from	  file
				  /etc/madv.conf if it exists.

				  exec-name specifies the name of an  applica‐
				  tion or executable. The corresponding advice
				  is set  for  newly  created  processes  (see
				  getexecname(3C))  that match the first exec-
				  name found in the file.

				  exec-name can be a  full  pathname,  a  base
				  name,	 or  a	pattern	 string. See File Name
				  Generation in sh(1) for a discussion of pat‐
				  tern matching.

				  exec-args is an optionally specified pattern
				  string to match against arguments. Advice is
				  set  only  if	 exec-args is not specified or
				  occurs within the arguments to exec-name.

				  advice-opts is a comma-separated list speci‐
				  fying	  the	advice	 for   various	memory
				  region(s):

				  madv=advice	       Applies	to  all	 heap,
						       shared memory, and mmap
						       regions in the  process
						       address space.

				  heap=advice	       The  heap is defined to
						       be the  brk  area  (see
						       brk(2)). Applies to the
						       existing heap  and  for
						       any   additional	  heap
						       memory allocated in the
						       future.

				  shm=advice	       Shared  memory segments
				  ism=advice	       (see shmat(2)) attached
				  dism=advice	       using  any  flags, flag
						       SHM_SHARE_MMU, or  flag
						       SHM_PAGEABLE    respec‐
						       tively. Options ism and
						       dism   take  precedence
						       over option shm.

				  map=advice	       Mappings	   established
				  mapshared=advice     through	mmap(2)	 using
				  mapprivate=advice    any     flags,	  flag
				  mapanon=advice       MAP_SHARED,	  flag
						       MAP_PRIVATE,  or	  flag
						       MAP_ANON, respectively.
						       Options mapshared, map‐
						       private,	  and  mapanon
						       take  precedence	  over
						       option	 map.	Option
						       mapanon	takes	prece‐
						       dence   over  mapshared
						       and mapprivate.

       MADVERRFILE=pathname	  By default, error messages  are  logged  via
				  syslog(3C)  using level LOG_ERR and facility
				  LOG_USER. If MADVERRFILE  contains  a	 valid
				  pathname  (such  as /dev/stderr), error mes‐
				  sages will be logged there instead.

EXAMPLES
       Example 1 Applying advice to all ISM segments

       The following configuration applies advice  to  all  ISM	 segments  for
       application /usr/bin/foo:

	 example$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
	 example$ MADVCFGFILE=madvcfg
	 example$ export LD_PRELOAD MADVCFGFILE
	 example$ cat $MADVCFGFILE
	     /usr/bin/foo:ism=access_lwp

       Example 2 Setting advice for all applications with exception

       The  following  configuration sets advice for all applications with the
       exception of ls.

	 example$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
	 example$ MADV=access_many
	 example$ MADVCFGFILE=madvcfg
	 example$ export LD_PRELOAD MADV MADVCFGFILE
	 example$ cat $MADVCFGFILE
	     ls:

       Example 3 Precedence rules (continuation from Example 2)

       Because MADVCFGFILE takes precedence over MADV, specifying '*' (pattern
       match all) for the exec-name of the last madv configuration entry would
       be equivalent to setting MADV. The following is equivalent  to  example
       2:

	 example$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
	 example$ MADVCFGFILE=madvcfg
	 example$ export LD_PRELOAD MADVCFGFILE
	 example$ cat $MADVCFGFILE
	     ls:
	     *:madv=access_many

       Example 4 Applying advice for different regions

       The following configuration applies one type of advice for mmap regions
       and different advice for heap and shared memory regions	for  a	select
       set of applications with exec names that begin with foo:

	 example$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
	 example$ MADVCFGFILE=madvcfg
	 example$ export LD_PRELOAD MADVCFGFILE
	 example$ cat $MADVCFGFILE
	     foo*:madv=access_many,heap=sequential,shm=access_lwp

       Example 5 Applying advice selectively

       The following configuration applies advice for the heap of applications
       beginning with ora that have ora1 as an argument:

	 example$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
	 example$ MADVCFGFILE=madvcfg
	 example$ export LD_PRELOAD MADVCFGFILE
	 example$ cat $MADVCFGFILE
	     ora* ora1:heap=access_many

FILES
       /etc/madv.conf	  Configuration file

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Availability		     │system/extended-system-	   │
       │			     │utilities (32-bit)	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │			     │SUNWesxu (64-bit)		   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Uncommitted		   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       cat(1),	ld.so.1(1), proc(1), sh(1), brk(2), exec(2), fork(2), mmap(2),
       memcntl(2),   shmat(2),	 getexecname(3C),   madvise(3C),   syslog(3C),
       proc(4), attributes(5)

NOTES
       The advice is inherited. A child process has the same advice	    as
       its parent. On exec() (see exec(2)), the advice	is  set	 back  to  the
       default	system	advice unless different advice has been configured via
       the madv shared object.

       Advice is only applied to mmap regions explicitly created by  the  user
       program.	 Those regions established by the run-time linker or by system
       libraries making direct system calls (for  example,  libthread  alloca‐
       tions for thread stacks) are not affected.

SunOS 5.11			  15 Feb 2002			  madv.so.1(1)
[top]

List of man pages available for OpenIndiana

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