实际上,项目并不强制应用您为某个应用程序所设置的资源消耗限制。而是在设定最小 CPU 保留和内存容量并激活该项目后,Solaris 内核开始实施这些限制。在使用项目之前,您需要了解更多有关项目状态的信息。项目可处于以下三种状态之一:已定义的、活动的和非活动的。
在整个生存期内,项目可以在这些状态之间转移。
容器是在初始阶段创建的,此时项目本身尚未完全成形。每个项目必须有一个唯一名称,并且可无期限地保存在数据库中。
图 3–2 显示,在容器与主机关联之后,项目转为活动状态。非活动项目在被取消激活并不再与主机关联之后可移回已定义的状态。
使项目变为活动状态的第一步就是将其容器与某个主机关联起来。第二步是设置资源限制,即为该项目分配最小 CPU 保留和内存容量。必须将该项目与某个能够支持这些资源限制的主机相关联。也可以将活动项目视作已部署的,这意味着它已被推出,并且驻留在某台主机上。
使用“新建项目”向导创建基于应用程序的项目时,可提供匹配表达式来标识与该应用程序关联的进程。这样,所有符合该匹配表达式的进程都将自动移到此容器下。一旦激活项目,系统便在与该容器相关联的主机上的 /etc/project 数据库中创建一个条目。相应地,匹配的进程将移到该容器的项目名称之下。移动了这些进程之后,也就收集并保存了该项目所有的资源使用情况数据。
取消激活项目后,系统将不再实施其资源限制。已取消激活的项目将进入非活动状态,并从主机的 /etc/project 文件中删除。尽管该项目处于非活动状态,但仍存在于本软件的数据库中,等待日后激活。重新激活非活动项目后,系统将再次实施该容器的资源限制。
在该项目处于活动状态时收集的有关资源使用情况的所有数据都保留在数据库中。在取消激活该项目后的 30 天之内,您仍然可以请求为其生成使用情况报告。