Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

poolbind(8)

Name

poolbind - bind processes, tasks, or projects or query binding of processes to resource pools

Synopsis

/usr/sbin/poolbind -p poolname -e command [arguments]...
/usr/sbin/poolbind -p poolname [-i idtype] id...
/usr/sbin/poolbind -q pid...
/usr/sbin/poolbind -Q pid...

Description

The poolbind command allows an authorized user to bind zones, projects, tasks, and processes to pools. With the –e option (see below), it can execute a command you specify, placing the executed command in a specified pool. It can also enable you to query a process to determine which pool a process is bound to.

Only processes, projects, tasks, and contracts from the global zone can be selectively bound to a pool. If a process from a non-global zone needs to be bound, the binding must be performed on the zone. Even if a pool is bound to a non-global zone, global zone processes can be bound to that pool.

Options

The following options are supported:

–e command [arguments...]

Executes command, bound to the pool you specify with –p.

–i idtype

This option, together with the idlist arguments, specifies one or more processes to which the poolbind command is to apply. The interpretation of idlist depends on the value of idtype. The valid idtype arguments and corresponding interpretations of idlist are as follows:

pid

idlist is a list of process IDs. Binds the specified processes to the specified pool. This is the default behavior if no idtype is specified.

taskid

idlist is a list of task IDs. Bind all processes within the list of task IDs to the specified pool.

projid

idlist is a list of project IDs. Bind all processes within the list of projects to the specified pool. Each project ID can be specified as either a project name or a numerical project ID. See project(5).

zoneid

idlist is a list of zone IDs. Bind all processes within the list of zones to the specified pool. Each zone ID can be specified as either a zone name or a numerical zone ID. See zones(7).

A zone bound to a pool will only be able to observe the CPUs within the pset associated with the pool.

–p poolname

Specifies the name of a pool to which the specified zone, project, tasks, or processes are to be bound.

The pool may not be the name of a pool created by the psrset(8) utility. Only pools created through the resource pools utilities are supported. Use psrset(8) to bind pools created with psrset(8).

–q pid ...

Queries the pool bindings for a given list of process IDs

–Q pid ...

Queries the resource bindings for a given list of process IDs. The resource bindings are each reported on a separate line. Currently the only resource type is pset.

Examples

Example 1 Binding Processes

The following command binds all processes in projects 5 and 7 to the pool web_app:


example# /usr/sbin/poolbind –p web_app –i projid 5 7

Example 2 Binding the Running Shell

The following command binds the running shell to the pool web_app:


 example# /usr/sbin/poolbind –p web_app $$

Example 3 Querying the Pool Bindings

The following command queries the bindings to verify that the shell is bound to the given pool:


example# /usr/sbin/poolbind –q $$

Example 4 Querying the Resource Bindings

The following command queries the bindings to verify that the shell is bound to the given resources:


example# /usr/sbin/poolbind –Q $$

Exit Status

The following exit values are returned:

0

Successful completion.

1

Requested operation could not be completed.

2

Invalid command line options were specified.

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/resource-mgmt/resource-pools
Interface Stability
See below.

The invocation is Committed. The output is Uncommitted.

See Also

libpool(3LIB), project(5), attributes(7), resource-management(7), zones(7), pooladm(8), poolcfg(8), psrset(8)