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

Ações globais e locais em valores de controle de recursos

Há duas categorias de ações em valores de controle de recursos: global e local.

Ações globais em valores de controle de recursos

Ações globais aplicam valores de controle de recursos para cada controle de recurso no sistema. Você pode usar o comando rctladm descrito na página do manual rctladm(1M) para executar as seguintes ações:

Você pode desativar ou ativar a ação de registro global nos controles de recursos. Você pode definir a ação syslog para um grau específico atribuindo um nível de severidade, syslog=level. As configurações possíveis para level são as seguintes:

Por padrão, não há registro global das violações do controle de registro. No Solaris 10 versão 5/08, o nível n/a foi adicionado para controles de recurso em que nenhuma ação global pode ser configurada.

Ações locais em valores de controle de recursos

Ações locais são tomadas em um processo que tenta exceder o valor de controle. Para cada valor de limiar colocado em um controle de recursos, você pode associar uma ou mais ações. Há três tipos de ações locais: none, deny e signal=. Estas três ações são usadas como a seguir:

none

Nenhuma ação é tomada sobre solicitações de recurso para uma quantidade que seja maior do que o limiar. Esta ação é útil para monitorar o uso de recursos sem afetar o progresso dos aplicativos. Você também pode ativar uma mensagem global que é exibida quando o controle de recursos é excedido, embora o processo que exceda o limiar não é afetado.

deny

Você pode negar solicitações de recursos para uma quantidade que seja maior do que o limiar. Por exemplo, um controle de recursos task.max-lwps com ação deny faz com que uma chamada de sistema fork falhe, se o novo processo exceder o valor de controle. Consulte a página do manual fork(2).

signal=

Você pode ativar uma ação de mensagem de sinal global quando o controle de recursos é excedido. Um sinal é enviado para o processo quando o valor do limiar é excedido. Sinais adicionais não são enviados se o processo consumir recursos adicionais. Os sinais disponíveis estão listados na Tabela 6–3.

Nem todas as ações podem ser aplicadas a cada controle de recursos. Por exemplo, um processo não pode exceder o número de compartilhamentos de CPU atribuídas ao projeto do qual é membro. Assim, uma ação de negação não é permitida no controle de recursos project.cpu-shares.

Devido à implementação de restrições, as propriedades globais de cada controle podem restringir o intervalo de ações disponíveis que podem ser definidas no valor de limiar. (Consulte a página do manual rctladm(1M) Uma lista de ações de sinal disponíveis é apresentada na tabela abaixo. Para obter informações adicionais sobre sinais, consulte a página do manual signal(3HEAD).

Tabela 6–3 Sinais disponíveis para valores de controle de recursos

Sinal 

Descrição 

Notas 

SIGABRT 

Terminar o processo. 

 

SIGHUP 

Enviar um sinal de desligar. Ocorre quando o transportador incide sobre uma linha aberta. Sinal enviado para o grupo de processos que controlam o terminal. 

 

SIGTERM 

Terminar o processo. Sinal de término enviado pelo software. 

 

SIGKILL 

Terminar o processo e eliminar o programa. 

 

SIGSTOP 

Parar o processo. Sinal de controle de trabalho. 

 

SIGXRES 

Limite de controle de recursos excedido. Gerado pela facilidade de controle de recursos. 

 

SIGXFSZ 

Terminar o processo. Limite de tamanho de arquivo excedido. 

Disponível somente para controles de recursos com a propriedade RCTL_GLOBAL_FILE_SIZE (process.max-file-size). Para obter mais informações, consulte rctlblk_set_value(3C).

SIGXCPU 

Terminar o processo. Limite de tempo de CPU excedido. 

Disponível somente para controles de recursos com a propriedade RCTL_GLOBAL_CPUTIME (process.max-cpu-time). Para obter mais informações, consulte rctlblk_set_value(3C).