Solaris Resource Manager allows you to control the amount of system resources a user will ues. It is based around the concept of lnodes. Resources are allocated to lnodes and users associated with the lnodes. In that way, the resources a user can be controlled.

There's three default lnodes:

     srmidle - kernel idling lnode
     srmlost - lost lnode (required for functionality)
     srmother - the default lnode assigned to users not specifically associated with another lnode

This is better explained by considering the following example.

An Example Simple SRM Setup

 1. useradd -u 500 -g other -s /bin/false -c "SRM User" srmVP - to create a
    user entry for the lnode to be associated with
 2. limadm set cpu.shares=200 srmother - give other users 20% of the CPU
    resources
 3. limadm set cpu.shares=800 srmVP - give SrmVP lnode 80% of the CPU
    resources
 4. limadm set sgroup=0 srmVP - make srmVP a child of root
 5. limadm set sgroup=srmVP user1 - make user1 a child of srmVP
 6. su - oracle -c "srmuser srmVP /u01/app/oracle/product/9.2.0/bin/srvctl
    start database -d DB0" - start oracle instance DB0 associated to srmVP
    lnode (instead of srmother). This means that this oracle instance can use
    up to 80% of the CPU resources.

Some useful SRM commands

  • /usr/srm/unsupport/limid -p pid - displays the lnode the process is attached to
  • /usr/srm/unsupport/schedtree - shows the SRM tree
  • ps -cafe - processes under SRM control will have a class od SHR
  • liminfo -v srmVP - show SRM stats for user SsrmVP

Recent Changes

Contribute to this wiki

Why not help others by sharing your knowledge? Contribute something to this wiki and join out hall of fame!
Contact us for a user name and password