|
Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!
User Commands ppgsz(1)
NAME
ppgsz - set preferred page size for stack, heap, and/or
other anonymous segments
SYNOPSIS
/usr/bin/ppgsz [-F] -o option[,option] cmd | -p pid...
DESCRIPTION
The ppgsz utility sets the preferred page size for stack,
heap, and/or other anonymous segments for the target
process(es), that is, the launched cmd or the process(es) in
the pid list. ppgsz stops the target process(es) while
changing the page size. See memcntl(2).
OPTIONS
The following options are supported:
-F Force. Sets the preferred page size
options(s) for target process(es)
even if controlled by other
process(es). Caution should be exer-
cised when using the -F flag. See
proc(1).
-o option[,option] The options are:
heap=size
This option specifies the pre-
ferred page size for the heap of
the target process(es). heap is
defined to be the bss (unini-
tialized data) and the brk area
that immediately follows the bss
(see brk(2)). The preferred heap
page size is set for the exist-
ing heap and for any additional
heap memory allocated in the
future. See NOTES.
stack=size
This option specifies the pre-
ferred page size for the stack
of the target process(es). The
preferred stack page size is set
SunOS 5.10 Last change: 23 Jan 2003 1
User Commands ppgsz(1)
for the existing stack and newly
allocated parts of the stack as
it expands.
anon=size
This option specifies the pre-
ferred page size for all exist-
ing MAP_PRIVATE anonymous seg-
ments of the target process(es),
other than heap and stack, which
are large enough to fit at least
one aligned page of the speci-
fied size. For the segments that
are large enough, the preferred
page size is set starting at the
first size-aligned address in
the segment. The anon preferred
pagesize is not applied to
MAP_PRIVATE anonymous segments
created in the future. See
MAP_ANON in mmap(2).
Anonymous memory refers to
MAP_PRIVATE pages that are not
directly associated with a file
in some filesystem. The ppgsz
command uses memcntl(2) to set
the preferred page size for
anonymous segments. See
MC_HAT_ADVISE in memcntl(2).
At least one of the above options
must be specified.
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 defaults to bytes and can be
specified in octal (0), decimal, or
hexadecimal (0x). The numeric value
can be qualified with K, M, G, or T
to specify Kilobytes, Megabytes,
Gigabytes, or Terabytes, respec-
tively. 4194304, 0x400000, 4096K,
0x1000K, and 4M are different ways
SunOS 5.10 Last change: 23 Jan 2003 2
User Commands ppgsz(1)
to specify 4 Megabytes.
-p pid Sets the preferred page size
option(s) for the target process(es)
in the process-id (pid) list follow-
ing the -p option. The pid list can
also consist of names in the /proc
directory. Only the process owner or
the super-user is permitted to set
page size.
cmd is interpreted if -p is not
specified. ppgsz launches cmd and
applies page size option(s) to the
new process.
The heap and stack preferred page
sizes are inherited. Child
process(es) created (see fork(2))
from the launched process or the
target process(es) in the pid list
after ppgsz completes will inherit
the preferred heap and stack page
sizes. The preferred page sizes of
all segments are set back to the
default system page size on exec(2)
(see getpagesize(3C)). The preferred
page size for all other anonymous
segments is not inherited by chil-
dren of the launched or target
process(es).
EXAMPLES
Example 1: Setting the preferred heap and stack page size
The following example sets the preferred heap page size to
4M and the preferred stack page size to 512K for all ora-
owned processes running commands that begin with ora:
example% ppgsz -o heap=4M,stack=512K -p `pgrep -u ora '^ora'`
Example 2: Setting the preferred anonymous page size
The following example sets the preferred page size of exist-
ing qualifying anonymous segments to 512k for process ID
953:
example% ppgsz -o anon=512k -p 953
SunOS 5.10 Last change: 23 Jan 2003 3
User Commands ppgsz(1)
EXIT STATUS
If cmd is specified and successfully invoked (see exec(2)),
the exit status of ppgsz will be the exit status of cmd.
Otherwise, ppgsz will exit with one of the following values:
0 Successfully set preferred page size(s) for
processes in the pid list.
125 An error occurred in ppgsz. Errors include: invalid
argument, invalid page size(s) specified, and
failure to set preferred page size(s) for one or
more processes in the pid list or cmd.
126 cmd was found but could not be invoked.
127 cmd could not be found.
FILES
/proc/* Process files.
/usr/lib/ld/map.bssalign A template link-editor map-
file for aligning bss (see
NOTES).
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWesu (32-bit) |
|_____________________________|_____________________________|
| | SUNWesxu (64-bit) |
|_____________________________|_____________________________|
| Interface Stability | Evolving |
|_____________________________|_____________________________|
SunOS 5.10 Last change: 23 Jan 2003 4
User Commands ppgsz(1)
SEE ALSO
ld(1), mpss.so.1(1), pagesize(1), pgrep(1), pmap(1),
proc(1), brk(2), exec(2), fork(2), memcntl(2), mmap(2),
sbrk(2), getpagesize(3C), proc(4), attributes(5)
Linker and Libraries Guide
NOTES
Due to resource constraints, the setting of the preferred
page size does not necessarily guarantee that the target
process(es) will get the preferred page size. Use pmap(1) to
view the actual heap and stack page sizes of the target
process(es) (see pmap -s option).
Large pages are required to be mapped at addresses that are
multiples of the size of the large page. Given that the heap
is typically not large page aligned, the starting portions
of the heap (below the first large page aligned address) are
mapped with the system memory page size. See
getpagesize(3C).
To provide a heap that will be mapped with a large page
size, an application can be built using a link-editor
(ld(1)) mapfile containing the bss segment declaration
directive. Refer to the section ``Mapfile Option'' in the
Linker and Libraries Guide for more details of this direc-
tive and the template mapfile provided in
/usr/lib/ld/map.bssalign. Users are cautioned that an align-
ment specification may be machine-specific and may lose its
benefit on different hardware platforms. A more flexible
means of requesting the most optimal underlying page size
may evolve in future releases.
mpss.so.1(1), a preloadable shared object, can also be used
to set the preferred stack and/or heap page sizes.
SunOS 5.10 Last change: 23 Jan 2003 5
Man(1) output converted with
man2html and wrapped by fishsponge
This page was generated on Wed Sep 12 11:25:16 GMT 2007
|
Your favourite pages:
No pages logged yet. Trying to save cookie... Top 10 most popular pages:
sqlite3 man page (5333 hits) (openSUSE 10.2)
svn man page (5208 hits) (FreeBSD 6.2)
adv_cap_autoneg man page (4870 hits) (Solaris 10 11_06)
CPAN man page (4607 hits) (Suse Linux 10.1)
ssh man page (4342 hits) (Suse Linux 10.1)
ssh-socks5-proxy-connect man page (2874 hits) (Solaris 10 11_06)
netcat man page (2717 hits) (Suse Linux 10.1)
pprosetup man page (2487 hits) (Solaris 10 11_06)
startproc man page (2471 hits) (Suse Linux 10.1)
signal man page (2406 hits) (Suse Linux 10.1)
|