Resource pools offer a versatile mechanism that can be applied to many administrative scenarios.
Use pools functionality to split a server into two pools. One pool is used for login sessions and interactive work by timesharing users. The other pool is used for jobs that are submitted through the batch system.
Partition the resources for interactive applications in accordance with the applications' requirements.
Set user expectations.
You might initially deploy a system that is running only a fraction of the services that the system is ultimately expected to deliver. User difficulties can occur if reservation-based resource management mechanisms are not established when the system comes online.
For example, the fair share scheduler optimizes CPU utilization. The response times for a system that is running only one application can be misleadingly fast. Users will not see these response times with multiple applications loaded. By using separate pools for each application, you can place a ceiling on the number of CPUs available to each application before you deploy all applications.
Partition a server that supports large user populations. Server partitioning provides an isolation mechanism that leads to a more predictable per-user response.
By dividing users into groups that bind to separate pools, and using the fair share scheduling (FSS) facility, you can tune CPU allocations to favor sets of users that have priority. This assignment can be based on user role, accounting chargeback, and so forth.
Use resource pools to adjust to changing demand.
Your site might experience predictable shifts in workload demand over long periods of time, such as monthly, quarterly, or annual cycles. If your site experiences these shifts, you can alternate between multiple pools configurations by invoking pooladm from a cron job. (See Resource Pools Framework.)
Create a real-time pool by using the RT scheduler and designated processor resources.
Enforce system goals that you establish.
Use the automated pools daemon functionality to identify available resources and then monitor workloads to detect when your specified objectives are no longer being satisfied. The daemon can take corrective action if possible, or the condition can be logged.