Escolhendo qual núcleo usar ao executar um programa

0

Eu trabalho em um servidor Fedora rodando em um Intel Xeon com 15 núcleos. Alguns usuários estão executando simulações que ocupam quatro dos núcleos, mas outros parecem não ser usados. Existe uma maneira de executar um programa nos núcleos livres em vez de esperar que os núcleos usados sejam liberados?

    
por Zloy Smiertniy 29.11.2013 / 17:12

1 resposta

2

Eu descobri que foi culpa do matlab. Não respeitou o meu processo. Eu corri novamente depois que as outras simulações foram executadas e agora funciona em um núcleo separado. Graças a Synetech , descobri que o comando linux taskset me permite fazer o que eu preciso, caso precise fazer isso 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).
    
por 29.11.2013 / 17:50