Wybór rdzenia, który ma być używany podczas uruchamiania programu


0

Pracuję na serwerze Fedora działającym na Intel Xeon z 15 rdzeniami. Niektórzy użytkownicy przeprowadzają symulacje, które zajmują cztery rdzenie, ale inni wydają się nieużywani. Czy istnieje sposób, aby uruchomić program na wolnych rdzeniach zamiast czekać na zwolnienie używanych rdzeni?


1
Powinno być automatyczne ... czy dowiedziałeś się, że tak nie jest?
MariusMatutiae

1
Jak powiedział Marius, powinien to zrobić automatycznie (absurdem byłoby umieszczanie w kolejce procesów na używanych rdzeniach, gdy są dostępne wolne). Jeśli tak nie jest, musisz znaleźć problem i go naprawić. W międzyczasie możesz ręcznie ustawić powinowactwo do procesów.
Synetech

Dowiedziałem się, że nie jest. Uruchomiłem proces na jednym rdzeniu, a następnie ktoś rozpoczął proces, który wymaga 4 rdzeni, a mój proces był nadal na jednym z tych czterech rdzeni, a drugi proces obejmował wszystkie zasoby, a moje zostało na wieczność spowolnione. Mam zamiar poszukać ręcznego ustawienia powinowactwa i sprawdzić, czy to zadziała, dziękuję.
Zloy Smiertniy

Odpowiedzi:


2

Dowiedziałem się, że to wina Matlaba. Nie uszanowało mojego procesu. Uruchomiłem go ponownie po uruchomieniu innych symulacji i teraz działa na osobnym rdzeniu. Dzięki Synetech i tak dowiedziałem się, że zestaw zadań polecenia Linux pozwala mi robić to, czego potrzebuję, na wypadek, gdyby musiałem to zrobić ręcznie.

$ 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).
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.