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