Asignar un proceso a un procesador en Ubuntu / Debian

Muchas veces nos podemos encontrar en situaciones en las cuales sea necesario ejecutar un proceso en un procesador distinto. De esta forma, se podrá aprovechar al máximo el número de procesadores así como hacer mas eficiente la ejecución de los procesos. En primer lugar se requiere instalar las utilidades de Linux. En muchas distribuciones ya vienen instaladas por defecto. En caso de que sea necesario instalarlas se requerirá ejecutar el siguiente comando:

sudo apt-get install util-linux

Una vez instaladas las utilidades de Linux, será necesario conocer el PID del proceso el cual queremos asignar a otro procesador. Para ello se ejecutará el siguiente comando:

ps -A | grep "nombredeproceso"

Destacar que es importante conocer si el PID del proceso cambia o si se mantiene. Si se mantiene con el mismo PID del proceso se ejecutará el siguiente comando:

taskset -c "número del procesador" -p "PID del proceso"

ej: 

taskset -c 1 -p 2899

El número del procesador variará en función del número de procesadores. El valor empieza en 0 y se incrementa en un función del número de procesadores.

El PID del proceso identificará el proceso en cuestión.

También se puede especificar en vez del identificador del proceso un script en cuestión.

taskset -c "número del procesador" ./"ruta del script"

ej:

taskset -c 1 ./script