Auswählen des zu verwendenden Kerns beim Ausführen eines Programms

Auswählen des zu verwendenden Kerns beim Ausführen eines Programms

Ich arbeite an einem Fedora-Server, der auf einem Intel Xeon mit 15 Kernen läuft. Einige Benutzer führen Simulationen aus, die vier der Kerne beanspruchen, andere scheinen sie jedoch ungenutzt zu lassen. Gibt es eine Möglichkeit, ein Programm auf den freien Kernen laufen zu lassen, anstatt darauf zu warten, dass die verwendeten Kerne freigegeben werden?

Antwort1

Ich fand heraus, dass es an Matlab lag. Es hat meinen Prozess nicht respektiert. Ich habe es nach den anderen Simulationen noch einmal ausgeführt und jetzt läuft es auf einem separaten Kern. Danke anSynetechIch habe jedenfalls herausgefunden, dass der Linux-BefehlAufgabensatzermöglicht es mir, das zu tun, was ich brauche, falls ich es manuell tun müsste.

$ 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).

verwandte Informationen