Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1299592
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-09 18:47:15


第1 章• Solaris 10 Resource Manager 介绍27
何时使用资源管理
使用资源管理可以确保应用程序获得所需的响应时间。
资源管理也可增加资源利用率。通过对使用权分类和划分优先级,可在非高峰期有效使用
保留资源,这样通常可避免对额外处理能力的需求。您还可以确保资源不会因负荷的改变
而浪费。
服务器整合
资源管理非常适合于在单个服务器上整合多个应用程序的环境。
管理大量计算机所带来的成本和复杂性促使在更大、更具伸缩性的服务器上整合多个应用
程序。您可以使用资源管理软件在一个系统上分别运行多个工作负荷,而不是通过对单独
系统资源的完全访问权限,在每个单独的系统上运行一个工作负荷。使用资源管理,您可
以通过在单个Solaris 系统上运行和控制多个不同应用程序来降低总体拥有成本。
如果您提供Internet 和应用程序服务,则可以使用资源管理来执行以下操作:
 在单个计算机上驻留多个Web 服务器。您可以控制每个Web 站点的资源占用,并防止
每个站点受到其他站点的可能侵入。
 防止错误的公共网关接口(common gateway interface, CGI) 脚本占用全部CPU 资源。
 阻止行为不良的应用程序泄漏所有可用虚拟内存。
 确保用户的应用程序不受同一站点上运行的其他用户应用程序的影响。
 在同一计算机上提供不同级别或类别的服务。
 获取用于计费的记帐信息。
支持大规模或变动的用户群体
可以在任何拥有大规模、多样化用户基础的系统(例如教育机构)中使用资源管理功能。
如果您有多个工作负荷,则可以将软件配置为赋予特定项目优先权。
例如,在大型的经纪公司里,贸易商需要不时地通过快速访问来执行查询或计算。而其他
系统用户的工作负荷相对稳定。如果为贸易商的项目分配了较大比例的处理能力,则贸易
商就可获得所需的响应能力。
资源管理也非常适用于支持瘦客户机系统。这些平台为无态控制台提供了帧缓冲区和输入
设备,例如智能卡。实际的计算在共享服务器上完成,形成了分时型环境。使用资源管理
功能可以隔离服务器上的用户。这样,导致过载的用户就不会独占硬件资源并明显影响使
用该系统的其他用户。
何时使用资源管理
28 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
建立资源管理(任务图)
以下任务图高度概括了在您的系统上建立资源管理的步骤。
任务说明参考
识别系统上的工作负荷并按项目对每个
工作负荷进行分类。
在/etc/project 文件、NIS(网络信息
服务)映射或LDAP(轻量目录访问协
议)目录服务中创建项目条目。
第33 页中的“project 数据库”
设置系统上工作负荷的优先级。确定哪些是关键的应用程序。这些工作
负荷可能需要对资源的优先访问权。
请参考您的业务服务目标。
监视系统上的实时活动。使用性能工具查看系统上正在运行的工
作负荷的当前资源占用。然后评估是否
必须限制对给定资源的访问或将特定工
作负荷与其他工作负荷隔离开来。
第192 页中的“按系统进行监视”以及
cpustat(1M)、iostat(1M)、mpstat(1M)、
prstat(1M)、sar(1) 和vmstat(1M) 手册

对系统上正在运行的工作负荷进行临时
修改。
要确定可以更改哪些值,请参考Solaris
系统中的可用资源控制。当任务或进程
正在运行时,可从命令行更新值。
第76 页中的“可用的资源控制”、第
80 页中的“针对资源控制值的全局和
本地操作”、第83 页中的“在正在运
行的系统上临时更新资源控制值”以及
rctladm(1M) 和prctl(1) 手册页。
在project 数据库或命名服务项目数据
库中为每个项目条目设置资源控制和项
目属性。
/etc/project 文件或命名服务项目数据
库中的每个项目条目都可包含一个或多
个资源控制或属性。资源控制会约束附
加到该项目上的任务和进程。对于为资
源控制设置的每个阈值,您都可以关联
一个或多个在达到该阈值时采取的操
作。
您可以使用命令行界面来设置资源控
制,也可以使用Solaris Management
Console 设置某些配置参数。
第33 页中的“project 数据库”、第
34 页中的“本地/etc/project 文件格
式”、第76 页中的“可用的资源控制
”、第80 页中的“针对资源控制值的
全局和本地操作”,以及第8 章
为项目附加的进程集所占用的物理内存
资源设置上限。
资源上限设置守护进程将执行为
/etc/project 文件中的项目
rcap.max-rss 属性定义的物理内存资源
上限。
第33 页中的“project 数据库” 和
第10 章
创建资源池配置。资源池提供了一种对系统资源(例如处
理器)进行分区的途径,并在多次重新
引导期间维护这些分区。可在
/etc/project 文件中的每个条目内添加
一个project.pool 属性。
第33 页中的“project 数据库” 和
第12 章
将公平共享调度程序(fair share
scheduler, FSS) 设置为缺省的系统调度
程序。
确保所有用户进程位于一个单独的
CPU 系统中,或者位于属于同一调度
类的处理器集中。
第112 页中的“配置FSS”和
dispadmin(1M) 手册页
建立资源管理(任务图)
第1 章• Solaris 10 Resource Manager 介绍29
任务说明参考
激活扩展记帐功能来监视并记录任务或
进程的资源占用情况。
使用扩展记帐数据可以评估当前资源控
制并为将来的工作负荷规划容量要求。
可以跟踪整个系统的总使用量。要获取
多个系统中相关工作负荷的全部使用情
况统计信息,可在多台计算机间共享项
目名称。
第62 页中的“如何激活进程、任务和
流的扩展记帐”和acctadm(1M) 手册页
(可选)如果需要对配置做其他调整,
可继续从命令行更改值。您可以在任务
或进程正在运行时更改值。
对现有任务所做的修改可以立即生效,
无需重新启动项目。调节值,直至您对
性能满意。然后,更新/etc/project 文
件或命名服务项目数据库中的当前值。
第83 页中的“在正在运行的系统上临
时更新资源控制值”,以及
rctladm(1M) 和prctl(1) 手册页
(可选)捕获扩展记帐数据。针对活动的进程和任务编写扩展记帐记
录。生成的文件可用于规划、分摊费用
和计费。还可以使用libexacct 的实用
摘录与报告语言(Practical Extraction and
Report Language, Perl) 接口来开发自定
义报告脚本和提取脚本。
wracct(1M) 手册页和第58 页中的
“libexacct 的Perl 接口”
建立资源管理(任务图)
30 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
项目和任务(概述)
本章讨论Solaris 资源管理的项目和任务功能。项目和任务用于标记工作负荷并将它们彼此
分离。
本章包含以下主题:
 第32 页中的“项目和任务功能”
 第32 页中的“项目标识符”
 第37 页中的“任务标识符”
 第37 页中的“用于项目和任务的命令”
要使用项目和任务功能,请参见第3 章。
Solaris 10 在项目数据库和资源控制命令方面的新增功能
具体增强功能如下:
 针对资源控制值和命令扩展了对值和单元修饰符的支持
 对项目属性字段进行验证和处理更加简便
 修改了prctl 和projects 命令的输出格式并引入了新选项
 可通过useradd 命令设置用户的缺省项目,并使用usermod 和passmgmt 命令修改信息
除了本章和第6 章中包含的信息外,还可以参见以下手册页:
 passmgmt(1M)
 projadd(1M)
 projmod(1M)
 useradd(1M)
 usermod(1M)
 resource_controls(5)
有关Solaris 10 新增功能的完整列表以及Solaris 发行版的描述,请参见《Solaris 10 What’s
New》。
2第2 章
31
项目和任务功能
要优化工作负荷响应,必须首先能够识别要分析的系统上运行的工作负荷。此信息可能很
难通过单独使用纯粹面向进程或面向用户的方法来获取。在Solaris 系统中,您可以使用两
个附加功能来分离和识别工作负荷:项目和任务。项目为相关工作提供了网络范围内的管
理标识符。任务将一组进程收集到表示工作负荷组件的可管理实体中。
在project 名称服务数据库中指定的控制针对进程、任务和项目进行了设置。由于进程和
任务控制通过fork 和settaskid 系统调用继承,因此,所有在项目内创建的进程和任务都
可继承这些控制。有关这些系统调用的信息,请参见fork(2) 和settaskid(2) 手册页。
根据其项目或任务的成员关系,可以使用标准Solaris 命令处理正在运行的进程。扩展记帐
功能可以报告进程和任务的使用情况,并使用管理项目标识符标记每个记录。通过此进
程,可以将脱机工作负荷分析与联机监视相互关联。项目标识符可以通过project 名称服务
数据库在多台计算机之间共享。这样,在(或跨)多台计算机上运行的相关工作负荷的资
源占用情况最终可以在所有计算机上分析出来。
项目标识符
项目标识符是指用于标识相关工作的管理标识符。可以将项目标识符视为等同于用户标识
符和组标识符的工作负荷标记。一个用户或组可以属于一个或多个项目。这些项目可用于
表示允许用户(或用户组)参与的工作负荷。此成员关系然后可以作为费用分摊(例如基
于使用情况或初始资源分配等)的基础。尽管必须为用户指定一个缺省项目,但是用户启
动的进程可以与用户参与的任何项目关联。
确定用户的缺省项目
要登录到系统,必须为用户指定一个缺省项目。即使用户不在缺省项目中指定的用户或组
列表中,此用户仍会自动成为该项目的成员。
由于系统上的每个进程都具有项目成员资格,因此,必须使用一种算法为登录或其他初始
进程指定缺省项目。此算法在手册页getprojent(3C) 中进行介绍。系统按照顺序步骤确定
缺省项目。如果找不到缺省项目,则会拒绝用户的登录或启动进程的请求。
系统按顺序执行以下步骤,以确定用户的缺省项目:
1. 如果用户在/etc/user_attr 扩展用户属性数据库中为某个条目定义了project 属性,则
project 属性的值即为缺省项目。请参见user_attr(4) 手册页。
2. 如果project 数据库中存在名为user.user-id 的项目,则此项目即为缺省项目。有关更多
信息,请参见project(4) 手册页。
3. 如果project 数据库中存在名为group.group-name 的项目,其中group-name 是在passwd
文件中指定的用户缺省组的名称,则此项目即为缺省项目。有关passwd 文件的信息,请
参见passwd(4) 手册页。
4. 如果project 数据库中存在特殊的项目default,则此项目即为缺省项目。
项目和任务功能
32 系统管理指南:Solaris Containers-资源管理和Solaris Zones • 2006 年7 月
此逻辑由getdefaultproj() 库函数提供。有关更多信息,请参见getprojent(3PROJECT) 手
册页。
使用useradd、usermod 和passmgmt 命令设置用户属

您可以使用以下带有-K 选项和key=value 对的命令在本地文件中设置用户属性:
passmgmt 修改用户信息
useradd 设置用户的缺省项目
usermod 修改用户信息
本地文件可包括以下内容:
 /etc/group
 /etc/passwd
 /etc/project
 /etc/shadow
 /etc/user_attr
如果正在使用某一网络命名服务(如NIS)为本地文件补充其他条目,则这些命令不能更改
该网络命名服务提供的信息。但是,这些命令确实可以根据外部命名服务数据库验证以下
内容:
 用户名(或角色)的唯一性
 用户ID 的唯一性
 是否存在任何指定的组名
有关更多信息,请参见passmgmt(1M)、useradd(1M)、usermod(1M) 和user_attr(4) 手册
页。
project 数据库
您可以将项目数据存储在本地文件、网络信息服务(Network Information Service, NIS) 项目映
射或轻量目录访问协议(Lightweight Directory Access Protocol, LDAP) 目录服务中。
/etc/project 文件或命名服务在登录时使用,由可插拔验证模块(pluggable authentication
module, PAM) 发出的所有帐户管理请求使用它将用户绑定到缺省项目。
注– 对项目数据库中条目的更新,无论是对/etc/project 文件还是对网络命名服务中此数据
库表示形式的更新,都不会应用于当前活动的项目。使用login 或newtask 命令时,会将更
新应用于加入项目的新任务。有关更多信息,请参见login(1) 和newtask(1) 手册页。
项目标识符
 
 
以上文章转自于 : http://developers.sun.com.cn/
阅读(526) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~