系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

建立资源管理(任务图)

以下任务图高度概括了在您的系统上建立资源管理的步骤。

任务 

说明 

参考 

识别系统上的工作负荷并按项目对每个工作负荷进行分类。 

/etc/project 文件、NIS 映射或 LDAP 目录服务中创建项目条目。

project 数据库

设置系统上工作负荷的优先级。 

确定哪些是关键的应用程序。这些工作负荷可能需要对资源的优先访问权。 

请参考您的业务服务目标。 

监视系统上的实时活动。 

使用性能工具查看系统上正在运行的工作负荷的当前资源占用。然后评估是否必须限制对给定资源的访问或将特定工作负荷与其他工作负荷隔离开来。 

按系统进行监视cpustat(1M)iostat(1M)mpstat(1M)prstat(1M)sar(1)vmstat(1M) 手册页

对系统上正在运行的工作负荷进行临时修改。 

要确定可以更改哪些值,请参考 Solaris 系统中的可用资源控制。当任务或进程正在运行时,可从命令行更新值。 

可用的资源控制针对资源控制值的全局和本地操作在正在运行的系统上临时更新资源控制值rctladm(1M)prctl(1) 手册页。

project 数据库或命名服务项目数据库中为每个项目条目设置资源控制和项目属性。

/etc/project 文件或命名服务项目数据库中的每个项目条目都可包含一个或多个资源控制或属性。资源控制会约束附加到该项目上的任务和进程。对于为资源控制设置的每个阈值,您都可以关联一个或多个在达到该阈值时采取的操作。

您可以使用命令行界面来设置资源控制,也可以使用 Solaris Management Console 设置某些配置参数。 

project 数据库本地 /etc/project 文件格式可用的资源控制针对资源控制值的全局和本地操作第 8 章

为项目附加的进程集所占用的物理内存资源设置上限。 

资源上限执行守护进程将执行在 /etc/project 文件中为项目的 rcap.max-rss 属性定义的物理内存资源上限。

project 数据库第 10 章

创建资源池配置。 

资源池提供了一种对系统资源(例如处理器)进行分区的途径,并在多次重新引导期间维护这些分区。可以在 /etc/project 文件中为每个条目添加一个 project.pool 属性。

project 数据库第 12 章

将公平份额调度器 (fair share scheduler, FSS) 设置为缺省的系统调度器。 

确保所有用户进程位于一个单独的 CPU 系统中,或者位于属于同一调度类的处理器集中。 

配置 FSSdispadmin(1M) 手册页

激活扩展记帐功能来监视并记录任务或进程的资源占用情况。 

使用扩展记帐数据可以评估当前资源控制并为将来的工作负荷规划容量要求。可以跟踪整个系统的总使用量。要获取多个系统中相关工作负荷的全部使用情况统计信息,可在多台计算机间共享项目名称。 

如何激活进程、任务和流的扩展记帐acctadm(1M) 手册页

(可选)如果需要对配置做其他调整,可继续从命令行更改值。您可以在任务或进程正在运行时更改值。 

对现有任务所做的修改可以立即生效,无需重新启动项目。调节值,直至您对性能满意。然后,更新 /etc/project 文件或命名服务项目数据库中的当前值。

在正在运行的系统上临时更新资源控制值以及 rctladm(1M)prctl(1) 手册页

(可选)捕获扩展记帐数据。 

针对活动的进程和任务编写扩展记帐记录。生成的文件可用于规划、分摊费用和计费。还可以使用 libexacct 的实用摘录和报告语言 (Practical Extraction and Report Language, Perl) 接口,来开发自定义报告和摘录脚本。

wracct(1M) 手册页和libexacct 的 Perl 接口