Red Hat Training

A Red Hat training course is available for RHEL 8

4.3. Ajuste de las CPUs con la herramienta tuna

Los comandos de la herramienta tuna pueden dirigirse a CPUs individuales. Usando la herramienta tuna, puedes:

Isolate CPUs
Todas las tareas que se ejecutan en la CPU especificada se mueven a la siguiente CPU disponible. Aislar una CPU hace que no esté disponible eliminándola de la máscara de afinidad de todos los hilos.
Include CPUs
Permite que las tareas se ejecuten en la CPU especificada
Restore CPUs
Restaura la CPU especificada a su configuración anterior.

Este procedimiento describe cómo afinar las CPUs utilizando la CLI de tuna.

Requisitos previos

Procedimiento

  • Para especificar la lista de CPUs que se verán afectadas por un comando:

    # tuna --cpus=cpu_list [command]

    El argumento cpu_list es una lista de números de CPU separados por comas. Por ejemplo, --cpus=0,2. Las listas de CPU también pueden especificarse en un rango, por ejemplo --cpus=”1-3que seleccionaría las CPUs 1, 2 y 3.

    Para añadir una CPU específica a la actual cpu_list, por ejemplo, utilice --cpus= 0.

    Sustituya [command] por, por ejemplo, --isolate.

  • Para aislar una CPU:

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

    # tuna --cpus=cpu_list --include
  • Para utilizar un sistema con cuatro o más procesadores, muestre cómo hacer que todos los hilos de ssh se ejecuten en la CPU 0 y 1, y todos los hilos de http en la CPU 2 y 3:

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

    Este comando realiza las siguientes operaciones de forma secuencial:

    1. Selecciona las CPUs 0 y 1.
    2. Selecciona todos los hilos que empiezan por ssh.
    3. Mueve los hilos seleccionados a las CPUs seleccionadas. Tuna establece la máscara de afinidad de los hilos que comienzan con ssh a las CPUs apropiadas. Las CPUs pueden ser expresadas numéricamente como 0 y 1, en máscara hexadecimal como 0x3, o en binario como 11.
    4. Restablece la lista de CPUs en 2 y 3.
    5. Selecciona todos los hilos que empiezan por http.
    6. Mueve los hilos seleccionados a las CPUs especificadas. Tuna establece la máscara de afinidad de los hilos que comienzan con http a las CPUs especificadas. Las CPUs pueden expresarse numéricamente como 2 y 3, en máscara hexadecimal como 0xC, o en binario como 1100.

Pasos de verificación

  • Para mostrar la configuración actual y verificar que los cambios se realizaron como se esperaba:

    # 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 realiza las siguientes operaciones de forma secuencial:

    1. Selecciona todos los hilos que comienzan con los hilos de gnome-sc.
    2. Muestra los hilos seleccionados para que el usuario pueda verificar su máscara de afinidad y su prioridad RT.
    3. Selecciona la CPU 0.
    4. Mueve los hilos de gnome-sc a la CPU especificada, CPU 0.
    5. Muestra el resultado del movimiento.
    6. Restablece la lista de CPUs en 1.
    7. Mueve los hilos de gnome-sc a la CPU especificada, CPU 1.
    8. Muestra el resultado del movimiento.
    9. Añade la CPU 0 a la lista de CPUs.
    10. Mueve los hilos de gnome-sc a las CPUs especificadas, CPUs 0 y 1.
    11. Muestra el resultado del movimiento.

Recursos adicionales

  • El archivo /proc/cpuinfo.
  • La página de manual tuna.
  • El comando tuna -h muestra las opciones de la CLI disponibles.