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

典型的应用程序服务器

在上面一节示例的结尾处用 liminfo 得出的 db1 列表会显示本输出。键入:

# liminfo -c db1

输出:

图形 2-7 liminfo 列出

Graphic

参考 liminfo(1SRM),可以得到更多有关下面所描述的字段的信息。

来自 liminfo(1SRM)命令的输出的前两行涉及 lnode UID 及其在 lnode树中的位置等方面。

登录名称

来自于与所附加的 lnode 的 UID 相对应的口令映射的登录名称和初始 GID。每个 lnode 均与一个系统 UID 相关联。强烈建议为每个 lnode 创建一个系统帐户。在本实例中,为db1(Database1)数据库1使用了一个占位 UID。

注意, Solaris Resource Manager 下的默认 PAM 配置是,为登录时没有 lnode 的任何用户创建一个 lnode。默认情况是,由或者由某个用户借助uselimadm 标志创建的 lnode,创建时是将用户 other 的 lnode 作为其父节点;如果不存在,就将根 lnode 作为父节点。由某个用户借助设置管理标志而创建的 lnode,创建时是将该用户作为其父节点。可以借助用于更改 lnode 属性的一般命令,limadm,对 lnode 的父节点进行更改。

Uid

附加到当前进程的 lnode 的 UID。通常与进程(已登录用户)的真实的 UID 相同,但在某些情况下(后面有描述),可能有所不同。

R、Euid 和 R、Egid

当前进程的真实和有效 UID 和 GID,这与标准系统 id(1M) 命令所提供的信息相同。这不是严格与 Solaris Resource Manager 有关,而只是为了方便才加以显示的。如果 liminfo(1SRM) 是在显示有关某个用户的信息,而不是默认的信息(即,是用登录名称或者 UID 作为变元提供的),则不显示这些字段。

Sgroup (uid) [sgroup]

lnode 树分层结构中父 lnode 的名称和 UID。如果是根 lnode,则为空。许多 Solaris Resource Manager 特性取决于某一 lnode 在树分层结构中所处的位置,因而这有助于用户跟踪连续的父 lnode,一直回到树的根。

在空白行之后,liminfo(1SRM) 的下面两行显示与 CPU 调度有关的字段。

Shares [cpu.shares]

这是分配给该用户的 CPU 权利份额的数目。这只与拥有同一父 lnode 的其他用户,以及父 lnode 自身的"Myshares" 具有直接的可比性。管理员通常可以将某一具体调度组中的所有用户的份额设置为同一值(给予这些用户平等的权利)。该值通常为大于1的某个数,从而留有余地,使管理员可以在适当的时候减少某些用户的份额。

Myshares [cpu.myshares]

只有该用户有正在活动(即,有附加进程)的子lnode时才使用该值(即,如果其它 lnode 拥有该用户的sgroup 值)。如果情况确实是这样,则该值给出的是附加到该 lnode 的相关的 CPU 值的份额,可以与附加到其子 lnode 的 CPU 值的份额进行对比。

份额

计算得出的当前用户有权使用的系统 CPU 资源的百分比。随着其他用户登录和注销(或者 lnode 变为活动或者不活动),该值也将发生变化,原因在于计算只会将活动的用户计算在内。该计算并不包含当前用户的最近利用率。

E-Share

这是该用户的有效份额(即,只要该用户要求且其他用户也在要求得到各自的份额,该用户就可以在短期内得到的系统 CPU 资源的实际百分比)。可以将此看作当前 Solaris Resource Manager 愿意分配给该 lnode 的 CPU 资源。该值会随着时间的推移,用户使用(或者不使用)CPU 资源,而发生变化。活动但空闲(即,所附加的进程休眠),因而利用率较低的 lnode 将拥有一个高效的份额值。相应地,对于所附加的进程正在积极使用 CPU 的用户来讲,其有效份额十分小。

Usage [cpu.usage]

用于确定调度优先权的累计系统资源利用率。其典型情况是指示最近的 CPU 利用率,但有可能还将其它参数考虑在内。可以借助 srmadm(1MSRM)命令查看参数混成情况。该值的每一增量随着时间的推移而发生指数衰变,从而最终 Solaris Resource Manager 将资源利用率"忘却"。用半衰期表示该衰变的速率则非常容易,可以借助 srmadm(1MSRM)命令进行查看。

Accrued usage [cpu.accrue]

这与"利用率"是相同的资源累计量度,但其从来不衰变。 Solaris Resource Manager 并不直接使用,而是出于记帐目的而由管理员使用。该值与利用率不同,所表示的是组内所有 lnode以及当前 lnode 的应计利用率。

在第二个空白行之后,liminfo(1SRM)的下面四行所显示的是与虚拟内存有关的四个字段:

Mem usage [memory.usage][memory.myusage]

这是所有附加到该 lnode 的进程的综合内存利用率。

如果所显示的是两个值,中间用斜杠(/)符号隔开,则该 lnode 是一个组头目,而第一个值是整个调度组的利用率,而第二个值只是当前用户的利用率。

Mem limit [memory.limit]

附加到该 lnode 及其成员(如果确实有的话)的所有进程所允许有的最大内存利用率。即,组内所有进程以及附加到该组的所有进程的内存利用率总计不得超过该值。注意,在这个实例中,"0"值指示没有限制。

Proc mem limit [memory.plimit]

每一进程内存限制是附加到该 lnode 及其成员的任意单个进程所允许有的最大内存利用率。

Mem accrue [memory.accrue]

内存应计值是以字节-秒钟为单位进行测量的,指示的是一段时间以来所使用的内存资源总和。

在第三个空白行之后,liminfo(1SRM)显示输出的下面四行显示的是与用户和进程有关的字段。

Processes [process.usage][process.myusage]

这是附加到lnode的进程的数目。注意,这是进程,而不是某一进程内部的计数线程。

如果所显示的是两个值,中间用斜杠(/)符号隔开,则该 lnode 是一个组头目,而第一个值是整个调度组的利用率,第二个值只是当前用户的利用率。

Process limit [process.limit]

允许附加到该 lnode 及其成员的进程的最大总数。

当前登录[logins]

该用户的同时 Solaris Resource Manager 登录会话期间的当前数目。当某个用户借助标准系统登录机制中的任意一个进行登录时(其中包括login(1)rlogin(1),等等),基本上任何使用 PAM 来进行鉴别并创建一个 utmp(4)条目的机制中,则该计数器减少。

如果某个用户的 flag.onelogin 标志值为设置,则只允许该用户拥有一个 Solaris Resource Manager 登录会话期间。

Last used [lastused]

该字段显示的是 lnode 最后活动的时间。通常是用户最后注销的时间。

Directory

该用户的主目录(出于方便,所显示的是来自口令映射的项目,而不是来自 Solaris Resource Manager 的项目)。

Name

db1 (finger) 信息,通常是用户的名称(出于方便,所显示的是来自口令映射的项目,而不是来自 Solaris Resource Manager 的项目)。

Shell

用户的初始登录 shell (出于方便,所显示的是来自口令映射的项目,而不是来自 Solaris Resource Manager 的项目)。

Flags

这里显示的是值为设置的标志或者 lnode 中的组。所显示的每个标志都跟有后缀字符,指示设置标志的值和方式(例如,是明确来自本 lnode (+),还是继承 (^) 得来的)。