适用于 Solaris 2.6 (SPARC 平台版) 的 Solaris Resource Manager 1.0 系统管理指南

发动万维网前端进程

假设业已决定在 Database1 上放置一个万维网前端,但将该应用程序限制为只能10个用户同时登录。使用进程限制功能就能办到。

首先,创建一个名为 ws1 的新 lnode。您通过在 ws1 lnode 下启动Webserver (万维网服务器)应用程序,就可以控制其可用的进程的数目,也就是活动 http 会话期间的数目。

图形 2-3 添加万维网前端进程

Graphic

鉴于 Webserver 是 Database1 应用程序的一部分,您可以给予它一个 db1 lnode 份额,并允许它与 Database1 争用资源。给 Webserver 分配百分之50 的计算机资源,而给 Database1 应用程序自身分配百分之40:

#  limadm set cpu.shares=6 ws1
#  limadm set sgroup=db1 ws1
#  limadm set cpu.myshares=4 db1
#  srmuser ws1  /etc/bin/Webserver1/init.webserver

最后一行启动 Webserver,并将应用程序装载到 ws1 lnode。注意,为Database1 的 cpu.myshares 分配了4。这就为 db1 与其子进程 Webserver竞争份额设置了4:6的比率。

cpu.shares 显示分层结构中同级资源分配的比率,而 cpu.myshares 显示的是父节点正在积极运行应用程序时父:子节点的资源分配比率。 Solaris Resource Manager 根据所有活动 lnode 在其各自层次上的未决份额的比率来进行资源分配,其中"各自层次"包括所有组父节点和所有子节点的 my.shares

如要控制 Webserver 可以运行的进程的数目,就为 ws1 lnode 放置一个进程限制。示例使用的是20,因为一个 Webserver 查询通常产生2个进程,因而这实际上将活动 Webserver 查询的数目限制在10:

现在业已将又一应用程序作为某个活动 lnode 下的一个叶节点添加到了调度树。如要在活动的父节点和子节点之间分布 CPU 资源,就使用 cpu.myshares 来将某些部分的可用资源分配给父节点,将某些分配给子节点。采用了进程限制,以便对一个 lnode 上的活动会话期间的数目加以限制。