Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Solaris Containers: Resource Management and Solaris Zones Developer's Guide
Previous Next

Understanding Resource Management in the Solaris OS

The main concept behind resource management is that workloads on a server need to be balanced for the system to work efficiently. Without good resource management, faulty runaway workloads can bring progress to a halt, causing unnecessary delays to priority jobs. An additional benefit is that efficient resource management enables organizations to economize by consolidating servers. To enable the management of resources, the Solaris OS provides a structure for organizing workloads and resources, and provides controls for defining the quantity of resources that a particular unit of workload can consume. For an in-depth discussion of resource management from the system administrator's viewpoint, see Chapter 1, Introduction to Solaris Resource Manager, in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones.

Workload Organization

The basic unit of workload is the process. Process IDs (PIDs) are numbered sequentially throughout the system. By default, each user is assigned by the system administrator to a project, which is a network–wide administrative identifier. Each successful login to a project creates a new task, which is a grouping mechanism for processes. A task contains the login process as well as subsequent child processes.

For more information on projects and tasks, see Chapter 2, Projects and Tasks (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones for the system administrator's perspective or Chapter 2, Projects and Tasks for the developer's point of view.

Processes can optionally be grouped into non-global zones, which are set up by system administrators for security purposes and to isolate processes. A zone can be thought of as a box in which one or more applications run isolated from all other applications on the system. Non-global zones are discussed thoroughly in Part II, Zones, in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones. To learn more about special precautions for writing resource management applications that run in zones, see Chapter 7, Design Considerations for Resource Management Applications in Solaris Zones

Resource Organization

The system administrator can assign workloads to specific CPUs or defined groups of CPUs in the system. CPUs can be grouped into processor sets, otherwise known as psets. A pset in turn can be coupled with one or more thread scheduling classes, which define CPU priorities, into a resource pool. Resource pools provide a convenient mechanism for a system administrator to make system resources available to users. Chapter 12, Resource Pools (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones covers resource pools for system administrators. Programming considerations are described in Chapter 6, Resource Pools.

The following diagram illustrates how workload and computer resources are organized in the Solaris OS.

Figure 1-1 Workload and Resource Organization in the Solaris Operating System
Diagram provides an example of how workloads and resources are organized in a system.

Resource Controls

Simply assigning a workload unit to a resource unit is insufficient for managing the quantity of resources that users consume. To manage resources, the Solaris OS provides a set of flags, actions, and signals that are referred to collectively as resource controls. Resource controls are stored in the /etc/project file or in a zone's configuration through the zonecfg command described in zonecfg(1M). The Fair Share Scheduler (FSS), for example, can allocate shares of CPU resources among workloads based on the specified importance factor for the workloads. With these resource controls, a system administrator can set privilege levels and limit definitions for a specific zone, project, task, or process. To learn how a system administrator uses resource controls, see Chapter 6, Resource Controls (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones. For programming considerations, see Chapter 5, Resource Controls.

Extended Accounting Facility

In addition to the workload and resource organization, the Solaris OS provides the extended accounting facility for monitoring and recording system resource usage. The extended accounting facility provides system administrators with a detailed set of resource consumption statistics on processes and tasks.

The facility is described in depth for system administrators in Chapter 4, Extended Accounting (Overview), in System Administration Guide: Solaris Containers-Resource Management and Solaris Zones. The Solaris OS provides developers with both a C interface and a Perl interface to the extended accounting facility. Refer to Chapter 3, Using the C Interface to Extended Accounting for the C interface or Chapter 4, Using the Perl Interface to Extended Accounting for the Perl interface.

Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire