Solaris Resource Manager 1.3 系统管理指南

计费问题

管理员必须决定针对资源利用率应该向哪个lnode 计费。例如,管理员可能只关心对整个部门的计费。这样,管理员可能只需要对最高层组的组长计费,这些组长的应计利用率,将包括他们部门内的在较低级别的全部lnode 的应计利用率。

为了使管理员能实施一套计费系统,他们就必须针对将被计费的每个资源确定成本核算功能。该功能可能是如步进方程的简单的线性关系(即无论使用多少数量单位成本都相同),或者单位成本随利用率变化的数量而改变的曲线。

在为每个资源确定一种成本核算功能时,管理员应该记住该成本核算功能不但控制成本向应计资源利用率的分配,而且还对某个用户使用该资源的方式产生影响。例如,如果针对虚拟内存利用率的成本核算功能使单位成本随利用率数量的增加而增加,则用户就会很自然地选择使虚拟内存利用率降低。因此,管理员就有可能通过使用正确的成本核算战略控制用户的行为。

每个资源只有一种应计属性。它包括该资源在自身利用率属性基础上的应计利用率。这就是说,没有对应 myusage 属性的应计利用率。对于组长,没有针对作为个人的用户的应计利用率,因为该应计属性保持着该组的应计利用率。对于没有子节点(叶 lnode)的 lnode 来说,这没有关系,因为 myusage 属性与利用率属性相同。如果对于某个组长的每个应计利用率都要求一份帐单,则它必须采用组总数减去该组内的每个子节点的总和的计算方法。

liminfo 命令

liminfo 命令的缺省输出是针对希望确定自己的当前利用率、限制及特权的用户而设计的。liminfo 也可供希望查询其他用户的属性的管理员使用。有若干种不同的报告格式可供请求,其中包括使用能使 liminfo 的输出适合于被一系列过滤器处理的选项。关于命令行选项及其含义,以及可被显示的字段的描述,请参阅 liminfo(1SRM)

limreport 命令

limreport 命令可使管理员查询任何用户的任何属性,包括应计属性。该命令提供一种从被选 lnode 中选择需要显示的信息的灵活方法。

例如,命令:

% limreport 'cpu.accrue!=0' '%u %s %f\n' uid lname cpu.accrue 

可选择在 usr 域中有任何应计利用率的所有 lnode,并列出来自每个被选 lnode 的 UID 和应计利用率属性。要想按照 cpu.accrue 对这些数值进行排序并只列出前 10 个用户,可将结果传递到 sort 命令:

% limreport 'cpu.accrue!=0' '%u %s %f\n' uid lname cpu.accrue | sort -2n | head

详细介绍请参阅 limreport(1SRM)

limadm 命令

limadm 命令可在计费系统中使用,使应计属性在被计费后归零。例如,命令:

# limreport 1 '%u\tcpu.accrue=0,mem.accrue=0\n' uid | limadm set -u -f -

使用 limreport 命令可生成被传递到 limadm 的命令的列表。每个 lnode 均被选择,而对于每个 lnode,应计属性均被归零。

管理员在确定何时清空某个 lnode 的应计属性时需要格外小心。时间的确定取决于计费战略。例如,如果需要在组层级上生成帐单,然后再为组成员分别生成帐单,则该组成员的应计属性在这两类帐单都生成之前就不应该被清空。但是,如果不生成分别的帐单,则该组成员的应计属性就应该与组长同时被清空,即使它们尚未分别被使用。

详细介绍请参见 limadm(1MSRM)