poolbind - bind processes, tasks, or projects or query binding of processes to resource pools
/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...
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.
The following options are supported:
Executes command, bound to the pool you specify with –p.
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:
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.
idlist is a list of task IDs. Bind all processes within the list of task IDs to the specified pool.
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).
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.
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).
Queries the pool bindings for a given list of process IDs
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.
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 7Example 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 $$
The following exit values are returned:
Successful completion.
Requested operation could not be completed.
Invalid command line options were specified.
See attributes(7) for descriptions of the following attributes:
|
The invocation is Committed. The output is Uncommitted.
libpool(3LIB), project(5), attributes(7), resource-management(7), zones(7), pooladm(8), poolcfg(8), psrset(8)