用Container实现Solaris 10上的动态资源分配
- 格式:doc
- 大小:99.00 KB
- 文档页数:13
Docker容器集群的动态调度和资源分配随着云计算的快速发展,容器技术成为了在部署应用程序方面的首选解决方案之一。
而其中最受欢迎的容器化平台之一就是Docker。
Docker能够提供高效、轻量级的容器,便于开发人员将应用程序打包成具有可移植性的镜像,并快速部署到不同的环境中。
然而,当应用程序需要处理大量并发请求时,如何动态调度和合理分配容器资源成为了容器集群管理的关键问题。
容器调度是指在容器集群中根据不同的策略将容器部署到可用的节点上。
在Docker容器集群中,可以使用多种调度器来完成这个任务,如Docker Swarm和Kubernetes。
这些调度器根据预设的调度策略,如负载均衡、资源约束等,将容器分配到集群中的节点上。
这些策略可以根据实际需求来进行调整,确保容器集群的性能和稳定性。
在容器调度的过程中,一项重要的任务就是在集群中平衡负载。
负载均衡可以通过多种方式实现,如基于容器数量的负载均衡和基于资源利用率的负载均衡。
前者会根据不同节点上的容器数量来决定容器的调度,从而实现负载均衡。
后者则会根据节点的资源利用率来判断是否能够接受新的容器,以避免某个节点的资源过载。
通过合理的负载均衡策略,可以充分利用集群中每个节点的资源,提高容器集群的整体性能。
另外,动态资源分配也是容器集群管理中的关键问题。
由于应用程序的工作负载可能随时发生变化,因此需要根据实际需要进行资源分配,以确保容器的性能和可靠性。
针对不同的应用场景,可以通过调整CPU、内存、网络和存储等资源的分配来满足不同的需求。
同时,还可以根据容器的实时性能数据,通过自动化机制来进行资源调整,以更好地适应应用程序的工作负载。
通过动态资源分配,可以充分利用集群中的资源,提高容器集群的整体效率。
为了实现容器集群的动态调度和资源分配,我们可以借助监控和调度工具。
这些工具可以收集容器和节点的性能数据,并根据预设的策略来进行调度和资源分配。
例如,可以使用Prometheus等监控工具来收集容器的性能数据,并将其用于决策调度和资源分配。
Solaris10 Zone介绍及管理中文版Container简介第1节Zone简介1.1 服务器合并解决方案1.2 资源共享1.3 zone特性第2节Zone概念2.1 Zone的类型2.2 Zone的守护进程2.3 Zone的文件系统2.4 Zone的联网2.5 Zone的命令的作用范围2.6 Zone的状态第3节Zone配置3.1 确定zone组件3.2 分配文件系统空间3.3 zonecfg工具3.4 zonecfg的资源参数3.5 zone配置概览第4节使用zoneadm命令Solaris 10的Container简介Solaris Container是一个完整的应用程序运行时环境。
Solaris 10资源管理器和Solaris Zones 软件分区技术是该容器的两个组成部分。
这两个组件分别代表该容器能够实现的两种不同的功能,两者协同工作可以创建完整的容器环境。
容器的zone部分提供从应用程序到平台资源的虚拟映射。
利用zone可以使应用程序组件彼此隔离,即使这些zone共享Solaris 操作系统的单个实例也是如此。
利用资源管理功能,您可以对工作负荷收到的资源数量进行分配。
容器建立资源占用(如CPU)的边界。
这些边界可以进行扩展,以适应容器中运行的应用程序的不断变化的处理要求。
图片附件: zone-0.jpg (2007-1-25 18:00, 11.73 K)第1节Zone简介Solaris zone技术使Solaris 10操作系统可以进行软件分区,每软件分区相当于一个独立的操作系统,可以拥有独立的进程空间,所配给的资源,以及用户。
ZONE的核心思想是把多个应用环境合并在单个服务器上。
把多个应用部署在一个大型的,更具可扩性的服务器上比把各个应用单独分布在各个服务器上更能节约硬件开销和并能减少管理的复杂性。
1.1 服务器合并解决方案在计划合并服务器时,市场上有多种解决方案。
客户可选择以下三种类型的服务器解决方案:1 域和分区这是基于硬件的解决方案,包括Sun Fire? Domains和IBM LPARs2 虚拟机器这是应用层的解决方案,包括IBM VM和VMware3 操作系统分区这是基于操作系统层面的解决方案,包括FreeBSD Jails和Linux Vservers Solaris的Zone属于操作系统分区类的解决方案。
中国信息大学:云计算中虚拟化技术的探讨(作者:张治远)--学报第10期现今信息化技术的发展越来越倾向给予大众便捷、舒适的服务,因为智能化和移动技术的发展,物联网已经成为当今信息化发展的主体,而作为物联网技术的核心-------云计算也当之无愧的成为了现今信息化研究的主题,各种云产品的出现恰恰说明了这一点——“云”时代已经来临。
因为云计算的发展是面向服务为主体的,所以云计算包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。
在各类云服务商纷纷提出“化云为雨”这个口号的同时,国内云技术的发展蒸蒸日上,但国内云产品市场的冷淡也成为了云技术发展的瓶颈。
本文从云计算中的核心技术之一--------虚拟化方向来阐述本人对于云技术的理解和展望。
云计算是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
其中虚拟化技术是云技术的最核心技术之一。
本文从以下三点内容阐述云计算中的虚拟化技术。
一什么是虚拟化技术?虚拟化技术并不是一个新兴的名词,它是指在同一台物理机器上模拟多台虚拟机的能力。
每台虚拟机在逻辑上拥有独立的处理器、内存、硬盘和网络接口。
使用虚拟化技术能够提高硬件资源的利用率,使得多个应用能够运行在同一台物理机上各自拥有彼此隔离的运行环境。
例如,CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
在云计算中,虚拟化技术可以理解为“化零为整,化整为零”的过程。
虚拟化也有不同的层次,例如硬件层面的虚拟化和软件层面的虚拟化。
内部使用中国工商银行软件开发中心2007年6月前言根据2007年我行系统软件版本的升级计划:Solaris系统从8升级到10,AIX 系统从升级到,这两个系统版本相对于旧版本均有较大的改进。
本课程向学员阐述和Solaris10的新特性,并讲述AIX52到53、Solaris从8到10的升级过程和建议方案。
本教材由系统部李佳昀编写,在编写过程中,参考了郑均强编写的《升级研究项目新特性分析报告》和《升级研究测试报告》。
教材发布范围:中心内部目录课程目标:........................................................................................................错误!未定义书签。
第 1 章新特性 ...............................................................................................错误!未定义书签。
概述 .............................................................................................................错误!未定义书签。
微分区技术 .................................................................................................错误!未定义书签。
虚拟I/O技术 ..............................................................................................错误!未定义书签。
并发多线程处理 .........................................................................................错误!未定义书签。
在Solaris 10中,未分配分区(unassigned)可以使用格式化命令(format)进行操作。
具体的操作步骤如下:
1. 使用命令行工具登录到Solaris 10操作系统。
2. 运行以下命令以查看当前系统的磁盘分区情况:
```
format
```
这将显示当前系统中的所有磁盘和分区。
3. 找到未分配的分区,记下其设备名称,例如`/dev/dsk/c0t0d0p0`。
4. 运行以下命令来格式化未分配分区:
```bash
format /dev/dsk/c0t0d0p0
```
其中,`/dev/dsk/c0t0d0p0`是未分配分区的设备名称,需要根据实际情况进行替换。
5. 根据提示进行操作,选择所需的文件系统类型和配置选
项。
6. 完成格式化后,未分配分区将被转换为可用的分区,并可用于存储文件和数据。
请注意,格式化分区将删除该分区上的所有数据,因此在执行此操作之前请确保已备份重要的文件和数据。
Docker容器的资源分配和控制方法随着云计算的快速发展,容器技术愈发受到关注,而Docker作为最流行的容器化平台之一,在资源分配和控制方面也具备独特的优势。
本文将着重探讨Docker容器的资源分配和控制方法,帮助读者更好地理解和应用这一强大的技术。
一、资源分配方法1. 镜像层面的资源分配Docker的镜像层面资源分配是通过设置镜像的大小和配置文件的方式来实现的。
通过设置镜像大小,可以控制容器所占用的存储空间,避免容器过度占用主机的存储资源。
而通过配置文件,可以灵活地分配CPU和内存资源,确保容器能够在合适的运行环境中发挥最佳性能。
2. 容器层面的资源分配在Docker中,可以通过容器的命令行参数或配置文件来指定容器所需的资源。
例如,通过“--cpu-shares”参数可以设置容器的CPU份额,通过“--memory”参数可以设置容器的内存限制。
这种方式可以精确地控制容器所占用的CPU和内存资源,避免容器之间的资源争夺,提高整体系统的稳定性和性能。
3. Swarm模式下的资源分配当使用Docker Swarm来管理容器集群时,可以通过为每个服务指定资源限制来实现资源的分配和控制。
通过在服务定义中设置“resources”字段,可以指定服务所需的CPU、内存和IO等资源。
Swarm会自动根据资源需求和可用资源来调度和管理容器,确保每个容器都能够得到适当的资源分配。
二、资源控制方法1. CPU控制Docker提供了多种方式来控制容器的CPU使用率。
其中一种方式是通过设置CPU的份额(CPU shares)来控制容器对CPU的使用。
这种方式可以在多个容器之间通过调整份额来实现资源的优先级控制。
另外,还可以通过设置CPU的限制(CPU limit)来限制容器使用的CPU时间片,避免容器长时间占用CPU资源。
2. 内存控制Docker也提供了多种方式来控制容器的内存使用。
一种方式是通过设置内存限制(memory limit)来限制容器使用的内存大小。
用Container实现Solaris 10上的动态资源分配 (2010-01-20 10:38)分类:Solaris本文介绍了在Solaris 10中如何运用虚拟化技术来实现动态CPU资源管理。
关键字:Solaris 10, Container, 资源管理,resource management, CMTSolaris 10中提供了一项强大的虚拟化技术:Container(容器),通过使用Container,我们可以在一个操作系统实例中虚拟出多个运行环境(Zone),每个Zone有自己的文件系统和网络地址,各个Zone中运行的应用互相不影响,从而实现应用级的隔离,并提高了安全性。
如下图所示,在一个Solaris 10 的操作系统中,划分了3个Container,分别运行App Server, Web Server和Database Server。
Container的使用非常简单,通常只需要5-10分钟的配置即可,所以Container 的虚拟化技术得到了广泛的应用。
资源管理的作用在缺省的情况下,各个Container都可以看见物理机器上的所有CPU 和内存,也就是说物理机上的所有CPU和内存在各个Container中是共享的。
在实际运用中,往往需要对各个Container使用的资源加以指定,以便确保一些关键应用的资源。
另外一种场景是需要动态调节各个Container中的资源,例如,在月末做报表时,希望临时给数据库的Zone多分配一些CPU资源,在月末压力高峰之后,就可以恢复成原来的CPU资源。
动态资源调整(Dynamic Reconfiguration)的功能在中高端服务器上(如E25K,M4000-M9000等)可由硬件实现,在其他中低端类型的服务器中,我们可以用Container 来实现。
ContainerSolaris 10 的Container 包括两层功能:Zone和Resource Management(RM)。
12/30Edit by SkyQQ178718287本文档介绍基于Sun sparc服务器Solaris10的一些操作实例1.0(在更新中)写这个是为了记述一些在Sun服务器机器上的入门实用操作其中知识来源于网络、个人经历等欢迎大家把你们的经验也加上其余文档还有Ashley工作-----Nginx+Resin+Memcached架构篇Ashley工作-----基于Solaris10Mysql日常应用篇(1.0)Ashley工作-----基于Solaris10Oracle10g日常应用篇(1.0)Solaris10上配置IPMP (4)IPMP简介 (4)实现IPMP的前提 (5)IPMP的实现 (5)Sun虚拟化技术之LDOMs (7)LDOMs简介 (7)LDOMs的简单操作 (9)如何判断一台机器是否安装了LDOMs (9)LDOMs的删除步骤 (10)Sun虚拟化技术之Container (11)什么是Resource Manager (11)什么是Zone (12)Global Zone和Non-global Zone的对比 (12)Zone的简单操作 (13)准备工作 (13)1.资源准备 (13)配置步骤 (14)1.资源上传 (14)2.安装Solaris9Container软件 (14)3.建立local zone (14)4.添加虚拟网卡 (15)5.添加文件系统 (15)6.安装Solaris9flar文件 (16)7.查看zone的状态 (16)Zone的简单管理 (17)1.启动和进入zone (17)2.关闭local zone (18)3.卸载并删除zone (18)Solaris上修改主机名和IP (19)Solaris5.8和5.9环境下 (19)Solaris5.10环境下 (19)JumpStrat安装 (19)JumpStart的优点 (20)JumpStart网络图 (20)网络安装Solaris10 (21)物理环境 (21)操作步骤 (21)Solaris10补安装语言包 (22)V890RSC、配置 (24)RSC物理安装 (24)RSC软件安装 (24)补充知识 (31)ALOM&ILOM配置 (31)相关的知识 (31)配置步骤 (32)1.ALOM配置步骤 (32)1.1ALOM整体配置 (32)1.2ALOM单项配置 (34)1.3确认你所配置的信息是否正确 (34)1.4使配置信息生效 (34)2.ILOM配置步骤 (35)ILOM和ALOM的简单管理 (35)1.ALOM的简单管理 (35)2.ILOM的简单管理 (35)在Solaris中设置分辨率 (36)系统克隆 (38)前提条件 (38)操作步骤 (38)dd命令操作 (38)ufsdump、ufsrestore命令操作 (40)ufsdump、ufsrestore解析 (40)操作步骤 (40)Sun服务器中磁盘阵列(Raid)系列 (42)Raid各个级别的介绍 (43)软阵列(Software Raid) (45)Solaris卷管理器 (45)SVM卷管理器 (46)SVM操作步骤 (46)硬阵列(Hardware Raid) (51)V440创建硬Raid步骤 (51)创建硬件磁盘镜像操作步骤 (52)删除硬件磁盘镜像操作步骤 (52)执行镜像磁盘热插拔操作 (53)Solaris10启动新加入的网卡 (54)Sun M系列服务器 (55)XSCF(通过扩展系统控制设备)介绍 (56)服务器管理和操作原理 (56)远程监控 (56)分区配置和管理 (57)初始化XSCF (57)SUN FIRE系列 (60)SUN FIRE系列相关概念 (60)基本概念 (61)Platform (61)Domain (62)Parttition (62)ACLs (62)System Controller (63)黑名单 (63)域的钥控开关 (63)相关操作 (64)SC配置 (64)域配置 (66)Shell切换 (68)从域切换到OS (68)从OS切换到域 (68)从域shell切换到OBP (68)平台shell与域shell互相切换 (68)启停domain (69)启停domain中的组件 (69)启停系统电源 (70)为domain增加或取消硬件资源 (71)增加board (71)取消board (71)为domain分配其他资源 (71)通过explorer收集系统信息 (72)附录一:Sun M系列图片 (72)M3000: (72)M4000: (73)M5000: (73)M8000: (74)附录二:Sun FIRE系列图片 (75)Sun Fire6800前后图 (75)Sun Fire4800前后图 (76)附录三:SunFire命令列表 (76)addboard (76)addcodlicense (76)break (76)更新中 (77)Solaris10上配置IPMPIPMP简介IPMP(IP Network Multipathing)是Solaris产品中的一个主要特性,其目的在于:一、增加网络的吞吐量,可方便快捷的将几个网络接口绑定在一起使用,从而起到增加带宽的作用。
Docker容器动态调整资源配置与扩缩容指南随着云计算和虚拟化的兴起,Docker容器技术成为了云计算部署和管理的一种主要方式。
而在使用Docker容器时,动态调整资源配置和扩缩容成为了一个关键问题。
本文将介绍一些Docker容器动态调整资源配置和扩缩容的指南,帮助读者更好地应对容器化应用的需求。
1. 确定容器的资源需求在动态调整资源配置和扩缩容之前,我们首先需要对容器的资源需求有一个清晰的了解。
这包括CPU、内存、存储等方面的需求。
通过监控容器运行时的资源利用情况,我们可以得到容器的实际资源需求。
例如,可以使用Docker自带的命令`docker stats`来查看容器的CPU和内存使用情况。
2. 动态调整资源配置一旦我们明确了容器的资源需求,就可以根据需求对容器的资源配置进行动态调整。
Docker提供了一些机制来实现资源配置的灵活调整。
首先,可以使用Docker的`--cpu-shares`参数来调整容器的CPU配额。
这个参数的值表示容器可以使用CPU资源的相对份额,较高的值表示较高的优先级。
例如,可以使用命令`docker run --cpu-shares=512`来进行CPU资源的调整。
其次,可以使用Docker的`--memory`参数来调整容器的内存限制。
这个参数的值表示容器可以使用的最大内存量。
例如,可以使用命令`docker run --memory=1g`来限制容器的最大内存为1GB。
此外,还可以使用Docker Compose来管理多个容器之间的资源限制。
通过在Compose文件中指定每个服务的资源需求,可以让Docker根据这些需求来进行资源的分配和调整。
3. 容器扩缩容除了动态调整资源配置,容器的扩缩容也是一个重要的问题。
当应用的负载增加时,我们需要增加容器的数量以保证应用的性能和可用性;而当负载减少时,则可以减少容器的数量以节约资源。
Docker Swarm是一个用于容器编排和管理的工具,它提供了容器的扩缩容功能。
动态内存分配掌握动态内存分配的原理和使用方法动态内存分配是指在程序运行时,根据需要动态地分配内存空间。
相比于静态内存分配,动态内存分配具有灵活性和效率方面的优势。
在程序设计中,正确地掌握动态内存分配的原理和使用方法是非常重要的。
本文将探讨动态内存分配的原理和使用方法,以帮助读者更好地理解并应用于实际开发中。
一、动态内存分配的原理在进行动态内存分配之前,我们首先需要了解几个重要的概念:1. 堆:在程序运行时,动态内存的分配是通过堆来实现的。
堆是一块较大的内存区域,用于存储动态分配的内存。
2. 指针:在动态内存分配过程中,我们通过指针来访问和管理分配的内存。
指针是一个变量,其值是一个地址,指向内存中的某个位置。
3. free store:是动态内存分配的另一种说法,用于表示程序运行时可以动态分配的内存空间。
动态内存分配的原理如下:1. 分配内存:通过调用相关的函数(如malloc、new等),向操作系统申请一块指定大小的内存空间。
2. 绑定指针:将申请到的内存空间的地址与一个指针绑定,以便后续使用。
3. 使用内存:通过指针对动态分配的内存空间进行读取和写入操作。
4. 释放内存:在使用完动态分配的内存后,需要手动释放内存,以便其他程序可以继续使用该内存。
以上就是动态内存分配的基本原理,了解这些原理对于正确和高效地使用动态内存非常重要。
二、动态内存分配的使用方法下面将介绍几种常见的动态内存分配的使用方法,以帮助读者更好地掌握动态内存的使用。
1. 使用malloc/free函数malloc和free是C语言中常用的动态内存分配函数。
malloc函数用于分配一块指定大小的内存空间,free函数用于释放之前分配的内存空间。
示例代码如下:```c#include <stdlib.h>int main(){int* p = (int*)malloc(sizeof(int)); // 分配4个字节大小的内存空间if(p != NULL){*p = 10; // 对动态分配的内存进行写入操作printf("%d\n", *p); // 读取动态分配的内存free(p); // 释放内存空间}return 0;}```2. 使用new/delete运算符在C++中,可以使用new和delete运算符来进行动态内存分配和释放操作。
用Container实现Solaris 10上的动态资源分配 (2010-01-20 10:38)分类:Solaris本文介绍了在Solaris 10中如何运用虚拟化技术来实现动态CPU资源管理。
关键字:Solaris 10, Container, 资源管理,resource management, CMTSolaris 10中提供了一项强大的虚拟化技术:Container(容器),通过使用Container,我们可以在一个操作系统实例中虚拟出多个运行环境(Zone),每个Zone有自己的文件系统和网络地址,各个Zone中运行的应用互相不影响,从而实现应用级的隔离,并提高了安全性。
如下图所示,在一个Solaris 10 的操作系统中,划分了3个Container,分别运行App Server, Web Server和Database Server。
Container的使用非常简单,通常只需要5-10分钟的配置即可,所以Container 的虚拟化技术得到了广泛的应用。
资源管理的作用在缺省的情况下,各个Container都可以看见物理机器上的所有CPU 和内存,也就是说物理机上的所有CPU和内存在各个Container中是共享的。
在实际运用中,往往需要对各个Container使用的资源加以指定,以便确保一些关键应用的资源。
另外一种场景是需要动态调节各个Container中的资源,例如,在月末做报表时,希望临时给数据库的Zone多分配一些CPU资源,在月末压力高峰之后,就可以恢复成原来的CPU资源。
动态资源调整(Dynamic Reconfiguration)的功能在中高端服务器上(如E25K,M4000-M9000等)可由硬件实现,在其他中低端类型的服务器中,我们可以用Container 来实现。
ContainerSolaris 10 的Container 包括两层功能:Zone和Resource Management(RM)。
Zone是指隔离的虚拟运行环境,RM是以前版本的Solaris就有的功能,可以结合Zone来动态分配资源。
本文以T5220为例子加以说明,在实际中对所有运行Solaris10的多处理器机器都适用,包括X86机器。
T5220 有一个UltraSPARC T2处理器,可以拥有8个核心(cores),每个核心有8个硬件线程,因此,T5220可以拥有64个硬件线程,在操作系统中可以看到有64个物理CPU,如# psrinfo0 on-line since 04/08/2009 14:22:421 on-line since 04/08/2009 14:22:452 on-line since 04/08/2009 14:22:453 on-line since 04/08/2009 14:22:454 on-line since 04/08/2009 14:22:455 on-line since 04/08/2009 14:22:456 on-line since 04/08/2009 14:22:45( 略去部分输出)61 on-line since 04/08/2009 14:22:4562 on-line since 04/08/2009 14:22:4563 on-line since 04/08/2009 14:22:45创建Zone1.创建Zone:# mkdir –p /export/home/zones/zone1# zonecfg -z zone1zone1: No such zone configuredUse 'create' to begin configuring a new zone. zonecfg:zone1>createzonecfg:zone1>set zonepath=/export/home/zones/zone1 zonecfg:zone1>set autoboot=truezonecfg:zone1>add netzonecfg:zone1:net>set address=192.168.0.1 zonecfg:zone1:net>set physical=e1000g0 zonecfg:zone1:net>endzonecfg:zone1>verifyzonecfg:zone1>commitzonecfg:zone1>exit2. 查看配置的zone:# ls -l /etc/zones/*xml 可以看到zone1.xml的配置文件# zoneadm list –cv 可以看到刚刚配置好的zone3.安装zone:# zoneadm –z zone1 install4. 检查zone状态可以看到zone1 的状态为installed:# zoneadm list –cv5. 启动zone:# zoneadm –z zone1 boot6.首次启动需要初始化服务和配置,可用命令登陆console监控:# zlogin -C zone17. 系统会出现配置界面,如主机名,命名服务等。
完成配置后,zone会重新启动,即可完成系统的启动。
8.如果在zone1里面运行psrinfo命令,可以看到64个CPU,也就是说,global zone和local zone里面的CPU目前是共享的,下一步我们可以把zone里的资源进一步限定。
CPU资源分配假定我们需要给这个zone分配8个CPU资源(即一个core),可以用以下资源管理命令:1.先检查资源管理服务是否启用:# svcs -a | grep pooldisabled Jan_03 svc:/system/pools:defaultdisabled Jan_03 svc:/system/pools/dynamic:default如果显示disabled,则需要启用:# svcadm enable pools# svcadm enable pools/dynamic# svcs -a | grep poolonline Jan_03 svc:/system/pools:defaultonline Jan_03 svc:/system/pools/dynamic:default2. 启动资源管理功能和生成基本配置文件:# pooladm -e# pooladm -s3. 创建资源池(pool):# poolcfg -dc ‘create pool pool1’4. 创建CPU集(pset), 包括8个CPU,其中pset.min和pset.max限定了CPU 的个数:# poolcfg -dc ‘create pset pset1 ( uint pset.min=8; uint pset.max=8 )’5. 指定特定的CPU到CPU集中,此步骤可选,如果不指定CPU编号,则系统自动分配CPU。
为了使T5220的分区具有较好的性能,我们把同一个core中的CPU分配到同一个CPU集中:# poolcfg -dc ‘transfer to pset pset1 ( cpu 0; cpu 1; cpu 2; \cpu 3; cpu 4; cpu 5; cpu 6; cpu 7)’6.把资源池pool1和CPU集pset1作关联:# poolcfg -dc ‘associate pool pool1 ( pset pset1 )’7.保存配置到文件(save):# pooladm -s8.查看当前CPU资源的配置,可以看到pool1已经关联上pset1,pset1中有8个CPU(id:0-7),而缺省的pset_default中只有56个CPU 了:# pooladmsystem defaultstring mentint system.version 1boolean system.bind-default truestring system.poold.objectives wt-loadpool pool_defaultint pool.sys_id 0boolean pool.active trueboolean pool.default trueint pool.importance 1string mentpset pset_defaultpool pool1int pool.sys_id 2boolean pool.active trueboolean pool.default falseint pool.importance 1string mentpset pset1pset pset1int pset.sys_id 1boolean pset.default falseuint pset.min 8uint pset.max 8string pset.units populationuint pset.load 0uint pset.size 8string mentcpuint cpu.sys_id 5string mentstring cpu.status on-linecpuint cpu.sys_id 4string mentstring cpu.status on-linecpuint cpu.sys_id 7string mentstring cpu.status on-linecpuint cpu.sys_id 6string mentstring cpu.status on-linecpuint cpu.sys_id 1string mentstring cpu.status on-linecpuint cpu.sys_id 0string mentstring cpu.status on-linecpuint cpu.sys_id 3string mentstring cpu.status on-linecpuint cpu.sys_id 2string mentstring cpu.status on-linepset pset_defaultint pset.sys_id -1boolean pset.default trueuint pset.min 1uint pset.max 65536string pset.units populationuint pset.load 807uint pset.size 56string mentcpuint cpu.sys_id 13string mentstring cpu.status on-linecpuint cpu.sys_id 12string mentstring cpu.status on-linecpuint cpu.sys_id 15string mentstring cpu.status on-linecpuint cpu.sys_id 14string mentstring cpu.status on-line cpuint cpu.sys_id 9string mentstring cpu.status on-linecpuint cpu.sys_id 8string mentstring cpu.status on-linecpuint cpu.sys_id 11string mentstring cpu.status on-linecpuint cpu.sys_id 10string mentstring cpu.status on-linecpuint cpu.sys_id 21string mentstring cpu.status on-linecpuint cpu.sys_id 20string mentstring cpu.status on-linecpuint cpu.sys_id 23string mentstring cpu.status on-linecpuint cpu.sys_id 22string mentstring cpu.status on-linecpuint cpu.sys_id 17string mentstring cpu.status on-linecpuint cpu.sys_id 16string mentstring cpu.status on-linecpuint cpu.sys_id 19string mentstring cpu.status on-linecpuint cpu.sys_id 18string mentstring cpu.status on-linecpuint cpu.sys_id 29string mentstring cpu.status on-linecpuint cpu.sys_id 28string mentstring cpu.status on-linecpuint cpu.sys_id 31string mentstring cpu.status on-linecpuint cpu.sys_id 30string mentstring cpu.status on-linecpuint cpu.sys_id 25string mentstring cpu.status on-linecpuint cpu.sys_id 24string mentstring cpu.status on-linecpuint cpu.sys_id 27string mentstring cpu.status on-linecpuint cpu.sys_id 26string mentstring cpu.status on-linecpuint cpu.sys_id 53string mentstring cpu.status on-linecpuint cpu.sys_id 52string mentstring cpu.status on-linecpuint cpu.sys_id 55string mentstring cpu.status on-linecpuint cpu.sys_id 54string mentstring cpu.status on-linecpuint cpu.sys_id 49string mentstring cpu.status on-linecpuint cpu.sys_id 48string mentstring cpu.status on-linecpuint cpu.sys_id 51string mentstring cpu.status on-linecpuint cpu.sys_id 50string mentstring cpu.status on-linecpuint cpu.sys_id 61string mentstring cpu.status on-linecpuint cpu.sys_id 60string mentstring cpu.status on-linecpuint cpu.sys_id 63string mentstring cpu.status on-linecpuint cpu.sys_id 62string mentstring cpu.status on-linecpuint cpu.sys_id 57string mentstring cpu.status on-linecpuint cpu.sys_id 56string mentstring cpu.status on-linecpuint cpu.sys_id 59string mentstring cpu.status on-linecpuint cpu.sys_id 58string mentstring cpu.status on-linecpuint cpu.sys_id 37string mentstring cpu.status on-linecpuint cpu.sys_id 36string mentstring cpu.status on-linecpuint cpu.sys_id 39string mentstring cpu.status on-linecpuint cpu.sys_id 38string mentstring cpu.status on-linecpuint cpu.sys_id 33string mentstring cpu.status on-linecpuint cpu.sys_id 32string mentstring cpu.status on-linecpuint cpu.sys_id 35string mentstring cpu.status on-linecpuint cpu.sys_id 34string mentstring cpu.status on-line cpuint cpu.sys_id 45string mentstring cpu.status on-linecpuint cpu.sys_id 44string mentstring cpu.status on-linecpuint cpu.sys_id 47string mentstring cpu.status on-linecpuint cpu.sys_id 46string mentstring cpu.status on-linecpuint cpu.sys_id 41string mentstring cpu.status on-linecpuint cpu.sys_id 40string mentstring cpu.status on-linecpuint cpu.sys_id 43string mentstring cpu.status on-linecpuint cpu.sys_id 42string mentstring cpu.status on-line配置Zone的CPU资源此时,如果在Zone1中运行psrinfo命令,会发现只有56个CPU了(8-63),原因是zone1缺省情况下使用了pool_default这个资源池。