Elegir qué núcleo usar al ejecutar un programa

Elegir qué núcleo usar al ejecutar un programa

Trabajo en un servidor Fedora que se ejecuta en un Intel Xeon con 15 núcleos. Algunos usuarios están ejecutando simulaciones que ocupan cuatro núcleos, pero otros parecen no usarse. ¿Hay alguna manera de ejecutar un programa en los núcleos libres en lugar de esperar a que se liberen los núcleos usados?

Respuesta1

Descubrí que era culpa de Matlab. No respetó mi proceso. Lo ejecuté nuevamente después de ejecutar las otras simulaciones y ahora funciona en un núcleo separado. Gracias aSinetechDe todos modos descubrí que el comando de Linuxconjunto de tareasme permite hacer lo que necesito, en caso de que necesite hacerlo manualmente.

$ taskset
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]]

Options:
 -p, --pid               operate on existing given pid
 -c, --cpu-list          display and specify cpus in list format
 -h, --help              display this help
 -V, --version           output version information

The default behavior is to run a new command:
    taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
    taskset -p 700
Or set it:
    taskset -p 03 700
List format uses a comma-separated list instead of a mask:
    taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
    e.g. 0-31:2 is equivalent to mask 0x55555555

For more information see taskset(1).

información relacionada