Red Hat Training

A Red Hat training course is available for RHEL 8

3.4. Plug-ins afinados

Os plug-ins são módulos em perfis Tuned que Tuned usa para monitorar ou otimizar diferentes dispositivos no sistema.

Tuned utiliza dois tipos de plug-ins:

  • plug-ins de monitoramento
  • plug-ins de afinação

Plug-ins de monitoramento

Os plug-ins de monitoramento são usados para obter informações de um sistema em funcionamento. A saída dos plug-ins de monitoramento pode ser usada sintonizando os plug-ins para o ajuste dinâmico.

Os plug-ins de monitoramento são automaticamente instanciados sempre que suas métricas são necessárias por qualquer um dos plug-ins de ajuste habilitados. Se dois plug-ins de ajuste requerem os mesmos dados, apenas uma instância do plug-in de monitoramento é criada e os dados são compartilhados.

Plug-ins de afinação

Cada plug-in de sintonia sintoniza um subsistema individual e toma vários parâmetros que são povoados a partir dos perfis sintonizados. Cada subsistema pode ter vários dispositivos, tais como CPUs múltiplas ou placas de rede, que são tratados por instâncias individuais dos plug-ins de sintonização. Configurações específicas para dispositivos individuais também são suportadas.

Sintaxe para plug-ins em perfis afinados

As seções que descrevem as instâncias de plug-in são formatadas da seguinte forma:

[NAME]
type=TYPE
devices=DEVICES
NOME
é o nome da instância de plug-in como é usada nos logs. Pode ser uma cadeia arbitrária.
TIPO
é o tipo do plug-in de sintonia.
DISPOSITIVOS

é a lista de dispositivos que esta instância de plug-in manipula.

A linha devices pode conter uma lista, um wildcard (*), e negação (!). Se não houver uma linha devices, todos os dispositivos presentes ou posteriormente anexados no sistema do TYPE são tratados pela instância de plug-in. Isto é o mesmo que usar a opção devices=*.

Exemplo 3.4. Dispositivos de blocos de encaixe com um plug-in

O exemplo a seguir corresponde a todos os dispositivos de bloco que começam com sd, como sda ou sdb, e não desabilita as barreiras sobre eles:

[data_disk]
type=disk
devices=sd*
disable_barriers=false

O exemplo a seguir corresponde a todos os dispositivos de bloco, exceto sda1 e sda2:

[data_disk]
type=disk
devices=!sda1, !sda2
disable_barriers=false

Se nenhuma instância de um plug-in for especificada, o plug-in não é ativado.

Se o plug-in suportar mais opções, elas também podem ser especificadas na seção plug-in. Se a opção não for especificada e não tiver sido previamente especificada no plug-in incluído, o valor padrão é usado.

Sintaxe curta do plug-in

Se você não precisar de nomes personalizados para a instância plug-in e houver apenas uma definição da instância em seu arquivo de configuração, Tuned suporta a seguinte sintaxe curta:

[TYPE]
devices=DEVICES

Neste caso, é possível omitir a linha type. A instância é então referenciada com um nome, igual ao tipo. O exemplo anterior poderia então ser reescrito:

Exemplo 3.5. Dispositivos de blocos de correspondência usando a sintaxe curta

[disk]
devices=sdb*
disable_barriers=false

Definições conflitantes de plug-in em um perfil

Se a mesma seção for especificada mais de uma vez usando a opção include, as configurações são fundidas. Se não puderem ser fundidas devido a um conflito, a última definição conflitante se sobrepõe às definições anteriores. Se você não souber o que foi definido anteriormente, você pode usar a opção replace Boolean e defini-la para true. Isto faz com que todas as definições anteriores com o mesmo nome sejam sobrescritas e a fusão não acontece.

Você também pode desativar o plug-in especificando a opção enabled=false. Isto tem o mesmo efeito como se a instância nunca tivesse sido definida. Desativar o plug-in é útil se você estiver redefinindo a definição anterior a partir da opção include e não quiser que o plug-in esteja ativo em seu perfil personalizado.

Funcionalidade não implementada em nenhum plug-in

Tuned inclui a capacidade de executar qualquer comando de shell como parte da habilitação ou desativação de um perfil de ajuste. Isto permite estender os perfis Tuned com funcionalidades que ainda não foram integradas no Tuned.

Você pode especificar comandos de shell arbitrários usando o plug-in script.

Recursos adicionais

  • A página do homem tuned.conf(5)