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
- La herramienta de la tuna está instalada. Para más información, consulte Sección 4.1, “Instalación de la herramienta del atún”.
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-3”que 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 --isolatePara incluir una CPU:
# tuna --cpus=cpu_list --includePara 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
httpen la CPU 2 y 3:# tuna --cpus=0,1 --threads=ssh\* \ --move --cpus=2,3 --threads=http\* --moveEste comando realiza las siguientes operaciones de forma secuencial:
- Selecciona las CPUs 0 y 1.
-
Selecciona todos los hilos que empiezan por
ssh. - 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.
- Restablece la lista de CPUs en 2 y 3.
-
Selecciona todos los hilos que empiezan por
http. -
Mueve los hilos seleccionados a las CPUs especificadas. Tuna establece la máscara de afinidad de los hilos que comienzan con
httpa 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-screensavEste comando realiza las siguientes operaciones de forma secuencial:
-
Selecciona todos los hilos que comienzan con los hilos de
gnome-sc. - Muestra los hilos seleccionados para que el usuario pueda verificar su máscara de afinidad y su prioridad RT.
- Selecciona la CPU 0.
-
Mueve los hilos de
gnome-sca la CPU especificada, CPU 0. - Muestra el resultado del movimiento.
- Restablece la lista de CPUs en 1.
-
Mueve los hilos de
gnome-sca la CPU especificada, CPU 1. - Muestra el resultado del movimiento.
- Añade la CPU 0 a la lista de CPUs.
-
Mueve los hilos de
gnome-sca las CPUs especificadas, CPUs 0 y 1. - Muestra el resultado del movimiento.
-
Selecciona todos los hilos que comienzan con los hilos de
Recursos adicionales
-
El archivo
/proc/cpuinfo. -
La página de manual
tuna. -
El comando
tuna -hmuestra las opciones de la CLI disponibles.