La afinidad de procesos (también conocida como «CPU pinning») es el proceso de asignar programas en ejecución a un único hilo (núcleo virtual), en lugar de permitir que se ejecute con todos los hilos de la CPU. Establecer la afinidad de procesos es ventajoso, ya que permitirá a los usuarios decidir exactamente cuántos recursos utiliza un programa.
En esta guía, repasaremos cómo establecer la afinidad de los programas que se ejecutan en su PC con Linux. También repasaremos otras formas de limitar los recursos del sistema a los programas del sistema operativo Linux.
Encontrar la información de su CPU
Antes de que podamos repasar cómo fijar programas individuales a hilos específicos, necesitamos saber cuántos hilos tiene disponibles en su sistema Linux. Hay algunas maneras de averiguar esta información. Cubriremos dos maneras.
La primera forma de averiguar el número de hilos de la CPU es con el nproc …comando. Este comando da un número crudo de procesadores que están disponibles para que su sistema Linux los utilice.
Para ejecutar el nproc para determinar cuántos hilos tiene disponibles, debe abrir una ventana terminal. Para abrir una ventana terminal, pulse Ctrl + Alt + T o Ctrl + Shift + T en el teclado.
Con la ventana de la terminal abierta, ejecute nproc.
nproc
Lo notará después de ejecutar el comando; un número aparece en el aviso. El número es el recuento de hilos (núcleos virtuales) de su sistema Linux. Para guardar esta información para más tarde, haz lo siguiente.
nproc >> ~/cpu-count.txt
Si el nproc simplemente no es suficiente información para ti, hay una mejor herramienta de línea de comandos que da mucha más información sobre los hilos de tu CPU. Se llama Información de la CPU. Aquí está cómo instalarla.
Primero, asegúrate de que tienes una ventana terminal abierta. Luego, introduzca los comandos de instalación que corresponden al sistema operativo Linux que utiliza.
Ubuntu
En Ubuntu Linux, podrás instalar la información de la CPU usando el Apto el comando del administrador de paquetes abajo.
sudo apt install cpuinfo
Debian
Los que están en Debian Linux pueden poner en marcha la información de la CPU con lo siguiente Apt-get …comando.
sudo apt-get install cpuinfo
Archivos de Linux
Arch Linux puede instalar fácilmente la herramienta de información de la CPU en Linux usando lo siguiente Pacman en una ventana terminal.
sudo pacman -S python-py-cpuinfo
Fedora
¿Estás usando Fedora Linux? Ponga sus manos en la información de la CPU ejecutando lo siguiente Dnf en una terminal.
sudo dnf install python3-cpuinfo
OpenSUSE
¿Un usuario de OpenSUSE Linux? Ponga en marcha la información de la CPU con el Zypper comando de abajo.
sudo zypper install python3-py-cpuinfo
Una vez que el programa de información de la CPU está configurado en su PC Linux, es hora de usarlo para averiguar la información de la CPU para que podamos determinar exactamente con cuántos hilos hay que trabajar.
Usando el cpu-info comando de abajo, obtener una lectura de su CPU.
Nota: puede que tengas que correr cpuinfo en lugar de cpu-info si está en Arch Linux, Fedora, o OpenSUSE Linux.
cpu-info
Después de ejecutar el comando, verá tanto un recuento del núcleo como un recuento lógico. El recuento lógico es el número de hilos con los que tienes que trabajar. La información lógica es la más importante cuando se trata de esta guía. No dude en guardar la información de la CPU en un archivo de texto ejecutando el siguiente comando.
cpu-info >> ~/cpu-count.txt
Cómo establecer la afinidad del proceso en Linux
Para establecer la afinidad del proceso en su PC con Linux, necesitará hacer uso del programa incorporado Taskset. Abra una ventana de terminal pulsando Ctrl + Alt + T o Ctrl + Shift + T en el teclado. Luego, a partir de ahí, sigue las instrucciones paso a paso que se dan a continuación para aprender a afinar un proceso en marcha.
Paso 1: Encuentra el ID de proceso de un programa en ejecución ejecutando pidof, seguido del nombre de la aplicación. Por ejemplo, para encontrar el ID de proceso de Thunderbird, ejecutarías el siguiente comando de ejemplo.
pidof thunderbird
Paso 2: Toma nota de la identificación del proceso de la aplicación. Luego, conéctalo a lo siguiente conjunto de tareas ejemplo de comando.
Nota: debes cambiar thread_number al hilo de la CPU en el que quieres poner el programa. También debe cambiar process_id al ID del proceso que se encuentra con pidof con el que te gustaría afinar conjunto de tareas.
sudo taskset -cp thread_number process_id &
¿Necesitas comprobar tu nuevo programa de afiliación? Ejecute conjunto de tareas -p contra el ID de proceso del programa para confirmar que se está ejecutando en el hilo de la CPU que especificó en el paso 2.
taskset -p process_id
Aprenda más acerca de Taskset
Para aprender más sobre el conjunto de tareas, tendrá que leer el manual. Ejecute el el conjunto de tareas del hombre …comando.
man taskset
Corriendo el conjunto de tareas del hombre le presentará un manual detallado sobre la aplicación de la serie de tareas. Revíselo ya que le ayudará a entender cómo funciona la aplicación. Cuando termine, pulse q …para dejar de fumar.
Danos tu opinión