Solaris 10 resource mangement is a major step forward over what was available in Solaris 8 and 9. In Solaris 10, we can manage resources at a zone, project or task level
Projects are collections of tasks, which are collections of processes. A new task is started in a project when a new session is opened by a login, cron, newtask, setproject or su command. Each process belongs to only one task, and each task belongs to only one project.
When there is more than one policy in place for a particular object, the smallest container’s control is enforced first.
Projects are maintained via the /etc/project file. Changes to /etc/project become available for new tasks in a project. (prctl and rctladm are used to perform runtime changes.)
The fields in an /etc/project entry are:
- projname: Name of the project.
- projid: Unique numerical project identifier less than UID_MAX (2147483647).
- comment: Project description.
- user-list: Comma-separated list of users.
- group-list: Comma-separated list of groups.
- attributes: Semicolon-separated list of name-value pairs, such as resource controls, in a name[=value] format.
After a default Solaris 10 installation, /etc/project contains the following:
system:0::::(default project for system processes and daemons)
user.root:1::::(processes owned by the root user)
noproject:2::::(IP Quality of Service)
default:3::::(default assigned to every otherwise unassigned user)
group.staff:10::::(default used for unassigned users in the “staff” group)
Parameters are set by adding them to the last field of the project entry:
projectname:101::::project.max-lwps=(privileged,200,deny)
Management Commands
Privilege Levels
IPC Resource Controls
Other Resource Controls
Command Examples
Read more