Red Hat Training

A Red Hat training course is available for RHEL 8

4.3. Sintonia de CPUs usando a ferramenta atum

Os comandos da ferramenta tuna podem ter como alvo CPUs individuais. Usando a ferramenta atum, você pode:

Isolate CPUs
Todas as tarefas executadas na CPU especificada passam para a próxima CPU disponível. O isolamento de uma CPU a torna indisponível, removendo-a da máscara de afinidade de todas as roscas.
Include CPUs
Permite que as tarefas sejam executadas na CPU especificada
Restore CPUs
Restaura a CPU especificada para sua configuração anterior.

Este procedimento descreve como sintonizar as CPUs usando o tuna CLI.

Pré-requisitos

Procedimento

  • Para especificar a lista de CPUs a serem afetadas por um comando:

    # atum --cpus=cpu_list [command]

    O argumento cpu_list é uma lista de números de CPU separados por vírgula. Por exemplo, --cpus=0,2. As listas de CPU também podem ser especificadas em uma série, por exemplo --cpus=”1-3que selecionaria as CPUs 1, 2, e 3.

    Para adicionar uma CPU específica ao atual cpu_list, por exemplo, use --cpus= 0.

    Substituir [command] por, por exemplo, --isolate.

  • Para isolar uma CPU:

    # tuna --cpus=cpu_list --isolate
  • Para incluir uma CPU:

    # atum --cpus=cpu_list --inclua
  • Para usar um sistema com quatro ou mais processadores, mostrar como fazer todos os threads ssh rodarem na CPU 0 e 1, e todos os threads http na CPU 2 e 3:

    # tuna --cpus=0,1 --threads=ssh\* \
    --move --cpus=2,3 --threads=http\* --move

    Este comando executa as seguintes operações sequencialmente:

    1. Seleciona as CPUs 0 e 1.
    2. Seleciona todos os tópicos que começam com ssh.
    3. Movimenta os fios selecionados para as CPUs selecionadas. Atum define a máscara de afinidade dos fios, começando com ssh para as CPUs apropriadas. As CPUs podem ser expressas numericamente como 0 e 1, em máscara hexagonal como 0x3, ou em binário como 11.
    4. Redefine a lista de CPU para 2 e 3.
    5. Seleciona todos os tópicos que começam com http.
    6. Movimenta os fios selecionados para as CPUs especificadas. Tuna define a máscara de afinidade dos fios começando com http para as CPUs especificadas. As CPUs podem ser expressas numericamente como 2 e 3, em máscara hexadecimal como 0xC, ou em binário como 1100.

Etapas de verificação

  • Para exibir a configuração atual e verificar se as mudanças foram realizadas como esperado:

    # tuna --threads=gnome-sc\* --show_threads \
    --cpus=0 --move --show_threads --cpus=1 \
    --move --show_threads --cpus=+0 --move --show_threads
    
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0      0,1     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0        0     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0        1     33997           58 gnome-screensav
                           thread       ctxt_switches
         pid SCHED_ rtpri affinity voluntary nonvoluntary             cmd
       3861   OTHER     0      0,1     33997           58 gnome-screensav

    Este comando executa as seguintes operações sequencialmente:

    1. Seleciona todas as roscas que começam com as roscas gnome-sc.
    2. Exibe os fios selecionados para permitir que o usuário verifique sua máscara de afinidade e prioridade RT.
    3. Seleciona CPU 0.
    4. Movimenta os fios gnome-sc para a CPU especificada, CPU 0.
    5. Mostra o resultado da mudança.
    6. Redefine a lista de CPU para CPU 1.
    7. Movimenta os fios gnome-sc para a CPU especificada, CPU 1.
    8. Exibe o resultado da mudança.
    9. Adiciona a CPU 0 à lista de CPU.
    10. Move os tópicos gnome-sc para as CPUs especificadas, CPUs 0 e 1.
    11. Exibe o resultado da mudança.

Recursos adicionais

  • O arquivo /proc/cpuinfo.
  • A página do homem tuna.
  • O comando tuna -h exibe as opções CLI disponíveis.