Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Objetivos y restricciones de configuración

Al realizar cambios en una configuración, poold actúa en las indicaciones que proporciona. Estas indicaciones se especifican como una serie de objetivos y restricciones. poold utiliza las especificaciones para determinar el valor relativo de las diferentes posibilidades de configuración en relación con la configuración existente. poold luego cambia las asignaciones de recursos de la configuración actual para generar nuevas configuraciones candidatas.

Restricciones de la configuración

Las restricciones afectan al intervalo de posibles configuraciones al eliminar algunos de los posibles cambios que pueden realizarse en una configuración. Están disponibles las siguientes restricciones, que se especifican en la configuración de libpool.

Consulte la página del comando man libpool(3LIB) y Propiedades de agrupaciones para obtener más información sobre las propiedades de las agrupaciones.

Propiedad pset.min y restricciones de la propiedad pset.max

Estas dos propiedades establecen los límites para la cantidad de procesadores que se pueden asignar a un conjunto, tanto el máximo como el mínimo. Consulte la Tabla 12–1 para obtener más información sobre estas propiedades.

Dentro de estas restricciones, los recursos de la partición están disponibles para su asignación a otras particiones de recursos de la misma instancia de Solaris. El acceso al recurso se obtiene vinculando una agrupación asociada con el conjunto de recursos. La vinculación se lleva a cabo durante el inicio de sesión o la realiza manualmente un administrador que tenga el privilegio PRIV_SYS_RES_CONFIG.

Restricción de la propiedad cpu.pinned

La propiedad cpu-pinned indica que las asignaciones de recursos dinámicos no deben mover una CPU específica del conjunto de procesadores en el que se encuentra. Puede configurar esta propiedad libpool para maximizar el uso de caché para una aplicación específica que se ejecuta dentro de un conjunto de procesadores.

Consulte la Tabla 12–1 para obtener más información sobre esta propiedad.

Restricción de la propiedad pool.importance

La propiedad pool.importance describe la importancia relativa de una agrupación según lo establecido por el administrador.

Objetivos de la configuración

Los objetivos se especifican de un modo similar a las restricciones. El conjunto completo de objetivos se describe en la Tabla 12–1.

Existen dos categorías de objetivos.

Dependientes de la carga de trabajo

Un objetivo dependiente de la carga de trabajo es un objetivo que varía según la naturaleza de la carga de trabajo que se ejecuta en el sistema. Un ejemplo es el objetivo de utilization. La cifra de utilización de un conjunto de recursos varía según la naturaleza de la carga de trabajo que hay activa en el conjunto.

Independientes de la carga de trabajo

Un objetivo independiente de la carga de trabajo es un objetivo que no varía según la naturaleza de la carga de trabajo que se ejecuta en el sistema. Un ejemplo es el objetivo de locality de la CPU. La medida de localidad evaluada para un conjunto de recursos no varía según la naturaleza de la carga de trabajo que está activa en el conjunto.

Puede definir tres tipos de objetivos.

Nombre 

Elementos válidos 

operadores 

Valores 

wt-load

system

N/D 

N/D 

locality

pset

N/D 

loose | tight | none

utilization

pset

< > ~

0100%

Los objetivos se almacenan en las cadenas de propiedad de la configuración de libpool. Los nombres de propiedad son los siguientes:

Los objetivos tienen la siguiente sintaxis:

Todos los objetivos adoptan un prefijo de importancia opcional. La importancia actúa como multiplicador del objetivo y, por tanto, aumenta el significado de su contribución a la evaluación de la función de objetivos. El valor puede estar entre 0 y INT64_MAX (9223372036854775807). Si no se especifica, el valor predeterminado de importancia es de 1.

Algunos tipos de elementos admiten más de un tipo de objetivo. Un ejemplo es pset. Puede especificar varios tipos de objetivos para estos elementos. También puede especificar varios objetivos de utilización en un único elemento pset.

Consulte Cómo definir los objetivos de configuración para ver algunos ejemplos de uso.

Objetivo de wt-load

El objetivo de wt-load favorece configuraciones que asocian asignaciones de recursos con utilizaciones de recursos. A un conjunto de recursos que utiliza más recursos se le asignan más recursos cuando este objetivo está activo. wt-load significa carga ponderada.

Este objetivo se utiliza cuando se está conforme con las restricciones que se han establecido utilizando las propiedades mínima y máxima, y se desea que el daemon manipule los recursos libremente dentro de dichas restricciones.

El objetivo locality

El objetivo locality influye en el impacto que tiene la localidad, medida por los datos de grupo de localidad (lgroup), en la configuración seleccionada. La latencia es otro modo de definir la localidad. lgroup describe los recursos de memoria y CPU. El sistema Solaris utiliza lgroup para determinar la distancia entre recursos, y el tiempo como medición. Para obtener más información sobre la abstracción del grupo de localidad, consulte Locality Groups Overview de Programming Interfaces Guide.

Este objetivo puede adoptar uno de los tres valores siguientes:

tight

Si se configura, se favorecen las configuraciones que maximizan la localidad de los recursos.

loose

Si se configura, se favorecen las configuraciones que minimizan la localidad de los recursos.

none

Si se configura, no se favorece ninguna configuración basándose en la localidad de los recursos. Se trata del valor predeterminado para el objetivo locality.

En general, el objetivo locality debe configurarse como tight. Sin embargo, para maximizar el ancho de banda de la memoria o minimizar el impacto de las operaciones de recursos dinámicos en un conjunto de recursos, puede configurar este objetivo como loose o dejar la configuración predeterminada de none.

Objetivo utilization

El objetivo utilization favorece configuraciones que asignan recursos a particiones que no cumplen el objetivo de utilización especificado.

Este objetivo se especifica utilizando operadores y valores. Los operadores son los siguientes:

<

El operador "menor que" indica que el valor especificado representa un valor de destino máximo.

>

El operador "mayor que" indica que el valor especificado representa un valor de destino mínimo.

~

El operador "similar" indica que el valor especificado es un valor de destino para el que se acepta cierta fluctuación.

Pset sólo puede tener configurado un objetivo de utilización para cada tipo de operador.

Puede definir los operadores < y > a la vez para crear un intervalo. Los valores se validarán para asegurarse de que no se solapen.

Ejemplo de objetivos de configuración

En el ejemplo siguiente, poold evaluará estos objetivos para pset:


Ejemplo 12–1 Ejemplo de objetivos de poold

pset.poold.objectives "utilization > 30; utilization < 80; locality tight"


Consulte Cómo definir los objetivos de configuración para ver algunos ejemplos de uso adicionales.

Propiedades de poold

Hay cuatro categorías de propiedades:

Tabla 12–1 Nombres de propiedad definidos

Nombre de propiedad 

Tipo 

Category 

Descripción 

system.poold.log-level

cadena 

Configuración 

Nivel de registro 

system.poold.log-location

cadena 

Configuración 

Ubicación de registro 

system.poold.monitor-interval

uint64 

Configuración 

Intervalo de muestra de supervisión 

system.poold.history-file

cadena 

Configuración 

Ubicación de historial de decisiones 

pset.max

uint64 

Restricción 

Número máximo de CPU para este conjunto de procesadores 

pset.min

uint64 

Restricción 

Número mínimo de CPU para este conjunto de procesadores 

cpu.pinned

bool 

Restricción 

CPU asociadas a este conjunto de procesadores 

system.poold.objectives

cadena 

Objetivo 

Cadena con formato de acuerdo con la sintaxis de expresión de objetivos de poold

pset.poold.objectives

cadena 

Objetivo 

Cadena con formato de acuerdo con la sintaxis de expresión de poold

pool.importance

int64 

Parámetro de objetivo 

Importancia asignada por el usuario