采用 Solaris Resource Manager 进行有效资源管理的关键在于建立设计完美的资源分层结构。Solaris Resource Manager 采用 lnode 树实施资源分层结构。
lnode 树中的每个节点都映射到口令图中的某个 UID,也就是说,工作负荷必须被映射到与口令图的条目相对应的程度。在某些情况下,可能还需要创建附加的用户,以便对应分层结构中的叶节点。这些特殊用户并不真正运行进程或任务,而是作为叶节点的管理点。
这个简单的分层结构是为了控制 Chuck 和 Mark 等两个用户的资源处理而建立的。这两个用户都在不同的点耗用大量 CPU 资源,因此在一天的不同时间互相影响。
为了解决这个问题,专门建立了一个单级分层结构,并向每个用户分配等份额的 CPU。
这种简单的分层结构是采用 limadm 命令,并使 Chuck 和 Mark 成为 root 共享组的子节点而建立的:
# limadm set sgroup=root chuck # limadm set sgroup=root mark |
为了向每个用户分配 50% 的资源,应向每个用户分配相同数目的 CPU 份额。(简单地说,在本例中向每个用户分配了 50 个份额,但向每个用户分配一个份额也可实现同样的目的。)利用 limadm 命令分配份额:
# liminfo -c chuck Login name: chuck Uid (Real,Eff): 2001 (-,-) Sgroup (uid): root (0) Gid (Real,Eff): 200 (-,-) Shares: 50 Myshares: 1 Share: 41 % E-share: 0 % Usage: 0 Accrued usage: 0 Mem usage: 0 B Term usage: 0s Mem limit: 0 B Term accrue: 0s Proc mem limit: 0 B Term limit: 0s Mem accrue: 0 B.s Processes: 0 Current logins: 0 Process limit: 0 Last used: Tue Oct 4 15:04:20 1998 Directory: /users/chuck Name: Hungry user Shell: /bin/csh Flags: |
liminfo 命令所显示的字段在典型的应用程序服务器中有介绍。有关 liminfo( 字段的详情,另请参阅 )liminfo1SRM 手册页。