Jest to polecenie hwloc-bind, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu Mac OS
PROGRAM:
IMIĘ
hwloc-bind - Uruchom polecenie, które jest powiązane z określonymi procesorami i/lub pamięcią, lub
skonsultuj wiązanie istniejącego programu
STRESZCZENIE
hwloc-bind [Opcje] [ [...] ] [-] ...
Należy pamiętać, że hulok(7) zawiera szczegółowe wyjaśnienie systemu hwloc i valid
formaty; należy go przeczytać przed przeczytaniem tej strony podręcznika.
OPCJE
--cpubind Użyj następujących argumentów do powiązania procesora (domyślnie).
--membind Użyj następujących argumentów do wiązania pamięci. Gdyby --mempolityka nie jest również podany,
domyślną zasadą jest bind.
--mempolityka
Zmień zasady wiązania pamięci. Dostępne polityki są domyślne,
firsttouch, bind, interleave, replikacja i nexttouch. Ta opcja jest tylko
ma znaczenie, gdy rzeczywiste wiązanie jest również podane z --membind. Jeśli --membind is
podane bez --mempolityka, domyślną zasadą jest powiązanie.
--dostwać Zgłoś aktualne wiązania.
Po wydaniu polecenia powiązanie jest wyświetlane przed wykonaniem polecenia.
Gdy nie zostanie wydane żadne polecenie, program wychodzi po wyświetleniu bieżącego
wiążący.
W połączeniu z --membind, zgłoś powiązanie pamięci zamiast powiązania procesora.
Nie można podać lokalizacji, ponieważ nie jest wykonywane wiązanie.
-e --pobierz-ostatnią-lokalizację-procesora
Zgłoś ostatnie procesory, na których przebiegał proces. Pamiętaj, że wynik może:
już nieaktualne po zgłoszeniu, ponieważ system operacyjny może przenieść
przetwarzać w dowolnym momencie innym podmiotom przetwarzającym zgodnie z obowiązującym prawem.
Po wydaniu polecenia wyświetlane są ostatnie procesory przed wykonaniem
Komenda. Gdy nie zostanie wydane żadne polecenie, program wychodzi po wyświetleniu ostatniego
procesorów.
Tej opcji nie można łączyć z --membind.
Nie można podać lokalizacji, ponieważ nie jest wykonywane wiązanie.
--pojedynczy Powiąż na jednym procesorze, aby zapobiec migracji.
--ścisły Wymagaj ścisłego wiązania.
--pid
Działaj na pid
-p --fizyczny
weź indeksy OS/fizyczne zamiast logicznych
-l --logiczny
weź indeksy logiczne zamiast indeksów fizycznych/systemowych (domyślnie)
--zestaw zadań Wyświetlaj ciągi ustawień procesora w formacie rozpoznawanym przez wiersz poleceń zestawu zadań
program zamiast specyficznego dla hwloc formatu łańcucha zestawu CPU. Ta opcja nie ma
wpływ na format wejściowych ciągów zestawu procesora, oba formaty są zawsze akceptowane.
--ograniczać
Ogranicz topologię do podanego procesora.
--cały system
Nie bierz pod uwagę ograniczeń administracyjnych.
-f --siła
Uruchom plik wykonywalny, nawet jeśli wiązanie nie powiodło się.
-q --cichy
Ukryj komunikaty o błędach innych niż krytyczne. Obejmuje lokalizacje wskazujące na nieistniejące
obiekty, a także brak wiązania. Jest to zwykle przydatne oprócz
--siła.
-v --gadatliwy
Gadatliwe wyjście.
--wersja Zgłoś wersję i wyjdź.
OPIS
hwloc-bind wykonuje plik wykonywalny (z opcjonalnymi argumentami wiersza poleceń), który jest powiązany z
określona lokalizacja (lub lista lokalizacji). Po pomyślnym wykonaniu hwloc-bind po prostu
ustawia powiązania, a następnie wykonuje plik wykonywalny nad sobą.
Jeśli powiązanie nie powiedzie się lub jeśli zestaw powiązań jest pusty i --siła nie podano, hwloc-bind
zwraca z błędem zamiast uruchamiania pliku wykonywalnego.
UWAGA: Zdecydowanie zaleca się przeczytanie hulok(7) strona przeglądu przed przeczytaniem
tę stronę podręcznika. Większość pojęć opisanych w hulok(7) bezpośrednio odnoszą się do hwloc-
narzędzie powiązania.
PRZYKŁADY
Działanie hwloc-bind najlepiej opisuje kilka przykładów. Więcej informacji o tym, jak
lokalizacje są określone w wierszu poleceń hwloc-bind są opisane w hulok(7).
Aby uruchomić polecenie echo na pierwszym procesorze logicznym drugiego pakietu:
pakiet hwloc-bind:1.pu:0 -- echo cześć
co jest dokładnie równoważne
pakiet hwloc-bind:1.pu:0 echo cześć
Aby powiązać polecenie "echo" z pierwszym rdzeniem drugiego pakietu i drugim rdzeniem
pierwsze opakowanie:
hwloc-bind pakiet:1.core:0 pakiet:0.core:1 echo cześć
Zauważ, że wiązanie polecenia „echo” z wieloma procesorami jest prawdopodobnie bez znaczenia
(ponieważ "echo" jest prawdopodobnie zaimplementowane jako aplikacja jednowątkowa); te przykłady
służą tylko do pokazania, co może zrobić hwloc-bind.
Aby uruchomić na pierwszych trzech pakietach na drugim i trzecim węźle:
hwloc-bind węzeł:1-2.pakiet:0:3 echo hello
co jest również równoznaczne z:
hwloc-bind węzeł:1-2.pakiet:0-2 echo hello
Zauważ, że jeśli spróbujesz powiązać się z obiektami, które nie istnieją, hwloc-bind nie wyświetli ostrzeżenia
chyba że -v został określony.
Aby uruchomić na procesorze z fizycznym indeksem 2 w pakiecie z fizycznym indeksem 1:
hwloc-bind --pakiet fizyczny:1.core:2 echo hello
Aby uruchomić na nieparzystych rdzeniach w pakietach parzystych:
pakiet hwloc-bind:even.core:odd echo cześć
Aby uruchomić na pierwszym pakiecie, z wyjątkiem drugiego i piątego rdzenia:
hwloc-bind pakiet:0 ~pakiet:0.core:1 ~pakiet:0.core:4 echo cześć
Aby uruchomić w dowolnym miejscu z wyjątkiem pierwszego pakietu:
hwloc-bind all ~pakiet:0 echo cześć
Aby uruchomić na rdzeniu w pobliżu interfejsu sieciowego o nazwie eth0:
hwloc-bind os=eth0 echo cześć
Aby uruchomić na rdzeniu w pobliżu urządzenia PCI, którego identyfikator magistrali to 0000:01:02.0:
hwloc-bind pci=0000:01:02.0 echo cześć
Aby powiązać pamięć na drugim węźle pamięci i uruchomić na pierwszym węźle (jeśli jest obsługiwane przez system operacyjny):
hwloc-bind --cpubind node:1 --membind node:0 echo cześć
Opcja --get może zgłaszać bieżące powiązania. Ten przykład pokazuje zagnieżdżanie hwloc-bind
wezwania do ustanowienia wiązania, a następnie zgłoszenia tego:
hwloc-bind węzeł:1.pakiet:2 hwloc-bind --get
Na jednym z komputerów dewelopera hwloc ten przykład zgłasza „0x00004444,0x44000000”.
Maska zgłaszana na twoim komputerze może być inna.
Lokalizacje mogą być również określone jako maska bitów szesnastkowych (zwykle generowana przez hwloc-calc).
Na przykład:
hwloc-bind 0x00004444,0x44000000 echo cześć
hwloc-bind `hwloc-calc węzeł:1.pakiet:2` echo hello
Powiązanie pamięci może być również zgłaszane:
hwloc-bind --membind node:1 --mempolicy przeplot -- hwloc-bind --get --membind
Zwraca ciąg opisujący powiązanie pamięci, taki jak „0x000000f0 (przeplatanie)”.
Zwróć uwagę, że jeśli system nie zawiera żadnych węzłów NUMA, raportowany ciąg wskaże:
że proces jest powiązany z całą pamięcią systemową (np. "0xf...f").
PODPOWIEDŹ
Jeśli dostępne jest lstopo z obsługą grafiki, użyj na przykład
hwloc-bind rdzeń:2 -- lstopo --pid 0
aby sprawdzić, jaki właściwie jest wynik twojego polecenia wiążącego. lstopo będzie graficznie
pokaż, gdzie jest powiązany przez hwloc-bind.
POWRÓT WARTOŚĆ
Po pomyślnym wykonaniu hwloc-bind wykonuje polecenie nad sobą. Zwracana wartość to
dlatego jakakolwiek jest wartość zwracana przez polecenie.
hwloc-bind zwróci wartość niezerową, jeśli wystąpi jakikolwiek błąd, taki jak (ale nie tylko):
niepowodzenie parsowania wiersza poleceń, niepowodzenie pobrania powiązań procesów lub brak a
polecenie do wykonania.
Korzystaj z hwloc-bind online za pomocą usług onworks.net