3.6. Variáveis e funções incorporadas em perfis sintonizados
Variáveis e funções incorporadas se expandem em tempo de execução quando um perfil Tuned é ativado.
O uso das variáveis Tuned reduz a quantidade de digitação necessária nos perfis Tuned. Você também pode:
- Usar várias funções embutidas junto com variáveis Tuned
- Criar funções personalizadas em Python e adicioná-las a Tuned sob a forma de plug-ins
Variáveis
Não há variáveis pré-definidas nos perfis Tuned. Você pode definir suas próprias variáveis, criando a seção [variables] em um perfil e usando a seguinte sintaxe:
[variables] variable_name=value
[variables]
variable_name=value
Para expandir o valor de uma variável em um perfil, use a seguinte sintaxe:
${variable_name}
${variable_name}
Exemplo 3.8. Isolamento de núcleos de CPU usando variáveis
No exemplo a seguir, a variável ${isolated_cores} se expande para 1,2; daí as botas do kernel com a opção isolcpus=1,2:
[variables]
isolated_cores=1,2
[bootloader]
cmdline=isolcpus=${isolated_cores}
[variables]
isolated_cores=1,2
[bootloader]
cmdline=isolcpus=${isolated_cores}
As variáveis podem ser especificadas em um arquivo separado. Por exemplo, você pode adicionar as seguintes linhas a tuned.conf:
[variables]
include=/etc/tuned/my-variables.conf
[bootloader]
cmdline=isolcpus=${isolated_cores}
[variables]
include=/etc/tuned/my-variables.conf
[bootloader]
cmdline=isolcpus=${isolated_cores}
Se você adicionar a opção isolated_cores=1,2 ao arquivo /etc/tuned/my-variables.conf, o kernel boots com a opção isolcpus=1,2.
Funções
Para chamar uma função, use a seguinte sintaxe:
${f:function_name:argument_1:argument_2}
${f:function_name:argument_1:argument_2}
Para expandir o caminho do diretório onde o perfil e o arquivo tuned.conf estão localizados, use a função PROFILE_DIR, que requer uma sintaxe especial:
${i:PROFILE_DIR}
${i:PROFILE_DIR}
Exemplo 3.9. Isolamento de núcleos de CPU usando variáveis e funções incorporadas
No exemplo a seguir, a variável ${non_isolated_cores} se expande para 0,3-5, e a função embutida cpulist_invert é chamada com o argumento 0,3-5:
[variables]
non_isolated_cores=0,3-5
[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
[variables]
non_isolated_cores=0,3-5
[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
A função cpulist_invert inverte a lista de CPUs. Para uma máquina com 6 CPUs, a inversão é 1,2, e a inicialização do kernel com a opção de linha de comando isolcpus=1,2.
Recursos adicionais
-
A página do homem
tuned.conf(5)