svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
mpss.so.1(1)
mpss.so.1(1) User Commands mpss.so.1(1)
NAME
mpss.so.1 - shared object for setting preferred page size
SYNOPSIS
mpss.so.1
DESCRIPTION
The mpss.so.1 shared object provides a means by which the preferred
stack and/or heap page size can be selectively configured for launched
processes and their descendants. To enable mpss.so.1, the following
string needs to be present in the environment (see ld.so.1(1)) along
with one or more MPSS (Multiple Page Size Support) environment vari‐
ables:
LD_PRELOAD=$LD_PRELOAD:mpss.so.1
ENVIRONMENT VARIABLES
Once preloaded, the mpss.so.1 shared object reads the following envi‐
ronment variables to determine any preferred page size requirements and
any processes these may be specific to.
MPSSHEAP=size MPSSHEAP and MPSSSTACK specify the preferred
MPSSSTACK=size page sizes for the heap and stack, respec‐
tively. The specified page size(s) are
applied to all created processes.
size must be a supported page size (see
pagesize(1)) or 0, in which case the system
will select an appropriate page size (see
memcntl(2)).
size can be qualified with K, M, G, or T to
specify Kilobytes, Megabytes, Gigabytes, or
Terabytes respectively.
MPSSCFGFILE=config-file config-file is a text file which contains
one or more mpss configuration entries of
the form:
exec-name exec-args:heap-size:stack-size
exec-name specifies the name of an applica‐
tion or executable. The corresponding pre‐
ferred page size(s) are set for newly cre‐
ated 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 Gen‐
eration in sh(1) for a discussion of pattern
matching.
exec-args is an optionally specified pattern
string to match against arguments. Preferred
page size(s) are set only if exec-args is
not specified or occurs within the arguments
to exec-name.
If heap-size and/or stack-size are not spec‐
ified, the corresponding preferred page
size(s) will not be set.
MPSSCFGFILE takes precedence over MPSSHEAP
and MPSSSTACK. When MPSSCFGFILE is not set,
preferred page size settings are taken from
file /etc/mpss.conf if it exists.
MPSSERRFILE=pathname By default, error messages are logged via
syslog(3C) using level LOG_ERR and facility
LOG_USER. If MPSSERRFILE contains a valid
pathname (such as /dev/stderr), error mes‐
sages will be logged there instead.
EXAMPLES
Example 1 Configuring the Preferred Page Sizes Using MPSSCFGFILE
The following Bourne shell commands (see sh(1)) configure the preferred
page sizes to a select set of applications with exec names that begin
with foo, using the MPSSCFGFILE environment variable. The MPSS configu‐
ration file, mpsscfg, is assumed to have been previously created via a
text editor like vi(1). The cat(1) command is only dumping out the con‐
tents.
example$ LD_PRELOAD=$LD_PRELOAD:mpss.so.1
example$ MPSSCFGFILE=mpsscfg
example$ export LD_PRELOAD MPSSCFGFILE
example$ cat $MPSSCFGFILE
foo*:512K:64K
Once the application has been started, pmap (see proc(1)) can be used
to view the actual page sizes configured:
example$ foobar &
example$ pmap -s `pgrep foobar`
If the desired page size is not configured (shown in the pmap output),
it may be due to errors in the MPSS configuration file or environment
variables. Check the error log (by default: /var/adm/messages) for
errors.
If no errors can be found, resource or alignment constraints may be
responsible. See the NOTES section.
Example 2 Configuring the Preferred Page Sizes Using MPSSHEAP and
MPSSSTACK
The following Bourne shell commands configure 512K heap and 64K stack
preferred page sizes for all applications using the MPSSHEAP and
MPSSSTACK environment variables.
example$ LD_PRELOAD=$LD_PRELOAD:mpss.so.1
example$ MPSSHEAP=512K
example$ MPSSSTACK=64K
example$ export LD_PRELOAD MPSSHEAP MPSSSTACK
Example 3 Precedence Rules (a continuation of Example 2)
The preferred page size configuration in MPSSCFGFILE overrides MPSSHEAP
and MPSSTACK. Appending the following commands to those in Example 2
would mean that all applications will be configured with 512K heap and
64K stack preferred page sizes with the exception of those applica‐
tions, the ls command, and all applications beginning with ora that
have ora1 as an argument, in the configuration file.
example$ MPSSCFGFILE=mpsscfg2
example$ export MPSSCFGFILE
example$ cat $MPSSCFGFILE
ls::
ora* ora1:4m:4m
FILES
/usr/lib/ld/map.bssalign A template link-editor mapfile for aligning
bss (see NOTES).
/etc/mpss.conf Configuration file
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 StabilityCommit‐
ted
SEE ALSO
cat(1), ld(1), ld.so.1(1), pagesize(1), ppgsz(1), proc(1), sh(1),
vi(1), exec(2), fork(2), memcntl(2), getexecname(3C), getpagesize(3C),
syslog(3C), proc(5), attributes(7)
NOTES
The heap and stack preferred page sizes are inherited. A child process
has the same preferred page sizes as its parent. On exec(2), the pre‐
ferred page sizes are set back to the default system page size unless a
preferred page size has been configured via the mpss shared object.
ppgsz(1), a proc tool, can also be used to set the preferred stack
and/or heap page sizes. It cannot selectively configure the page size
for descendents based on name matches.
See also NOTES under ppgsz(1).
Oracle Solaris 11.4 16 Sep 2014 mpss.so.1(1)