Guia de administração do sistema: gerenciamento de recursos Oracle Solaris Containers e Oracle Solaris Zones

Conceitos de controles de recursos

No sistema operacional Solaris, o conceito de limite de recursos por processo foi estendido para as entidades de tarefas e projetos descritos no Capítulo 2Projetos e tarefas (visão geral). Essas melhorias são fornecidas pelos controles de recursos (rctls). Além disso, alocações que eram definidas através dos ajustáveis /etc/system agora são automáticas ou configuradas também através do mecanismo de controles de recursos.

Um controle de recursos é identificado pelo prefixo zone, project, task ou process. Controles de recursos podem ser observados em uma base do sistema geral. É possível atualizar valores de controle de recursos em um sistema em execução.

Para obter uma lista dos controles de recursos padrão disponíveis nesta versão, consulte Controles de recursos disponíveis Para obter informações sobre controles de recursos para região geral, consulte Propriedades de tipo de recursos.

Para obter uma lista dos controles de recursos padrão disponíveis nesta versão, consulte Controles de recursos disponíveis.

Limites de recursos e controles de recursos

Sistemas do UNIX tradicionalmente fornecem uma função de limite de recursos (rlimit). A função rlimit permite que os administradores definam um ou mais limites numéricos da quantidade de recursos que um processo pode consumir. Esses limites incluem tempo de CPU usado por processo, tamanho de arquivo de núcleo por processo e tamanho de pilha máximo por processo. Tamanho de pilha é a quantidade de memória temporária alocada para o segmento de dados do processo.

A facilidade de controles de recursos fornece interfaces de compatibilidade para a facilidade de limites de recursos. Aplicativos existentes que usam limites de recursos continuam a ser executados inalterados. Esses aplicativos podem ser observados da mesma maneira que aplicativos que são modificados para tirarem proveito da facilidade de controles de recursos.

Comunicação entre processos e controles de recursos

Processos podem se comunicar entre si usando um dos vários tipos de comunicação entre processos (IPC). IPC permite que a transferência ou a sincronização de informações ocorra entre processos. Antes da versão Solaris 10, os parâmetros ajustáveis de IPC eram definidos pela adição de uma entrada no arquivo /etc/system. A facilidade de controles de recursos agora fornece controles de recursos que definem o comportamento das facilidades de IPC do kernel. Esses controles de recursos substituem os ajustáveis /etc/system.

Parâmetros obsoletos podem ser incluídos no arquivo /etc/system neste sistema do Solaris. Se incluídos, os parâmetros são usados para inicializar os valores de controle de recursos padrão, como nas versões anteriores do Solaris. No entanto, o uso de parâmetros obsoletos não é recomendável.

Para observar quais objetos IPC estão contribuindo para o uso de um projeto, use o comando ipcs com a opção -J. Para visualizar um exemplo, consulte Como usar ipcs Para obter mais informações sobre o comando ipcs, consulte ipcs(1).

Para obter informações sobre o desempenho do sistema Solaris, consulte Oracle Solaris Tunable Parameters Reference Manual.

Mecanismos de restrição do controle de recursos

Controles de recursos fornecem um mecanismo para a restrição dos recursos do sistema. É possível impedir que processos, tarefas, projetos e regiões consumam quantidades de recursos de sistema especificados. Esse mecanismo conduz a um sistema mais gerenciável ao impedir o consumo excessivo de recursos.

Mecanismos de restrição podem ser usados para oferecer suporte a processos de planejamento de capacidade. Uma restrição encontrada pode fornecer informações sobre as necessidades de recurso de um aplicativo sem necessariamente negar o recurso ao aplicativo.

Mecanismos de atributo de projeto

Controles de recursos também servem como um mecanismo de atributo simples para facilidades de gerenciamento de recursos. Por exemplo, o número de compartilhamentos de CPU disponibilizadas para um projeto na classe de agendamento fair share scheduler (FSS) é definido pelo controle de recursos project.cpu-shares. Uma vez que o controle atribui ao projeto um número fixo de compartilhamentos, as várias ações associadas a exceder um controle não são pertinentes. Neste contexto, o valor atual para o controle project.cpu-shares é considerado um atributo no projeto especificado.

Outro tipo de atributo de projeto é usado para regular o consumo de recursos da memória física por coleções de processos anexados a um projeto. Esses atributos têm o prefixo rcap, por exemplo, rcap.max-rss . Como um controle de recursos, este tipo de atributo é configurado no banco de dados de project. No entanto, enquanto os controles de recursos são aplicados sincronicamente pelo kernel, os limites de recurso são aplicados assincronicamente no nível de usuário pelo daemon de aplicação do limite de recursos, rcapd . Para obter informações sobre rcapd, consulte o Capítulo 10Controle da memória física usando o resource capping daemon (visão geral) e rcapd (1M).

O atributo project.pool é usado para especificar uma vinculação de grupo para um projeto. Para obter mais informações sobre grupos de recursos, consulte o Capítulo 12Grupos de recursos (visão geral).