You are currently viewing Różne Opcje Rozwiązywania Problemów Wyłączają Hiperwątkowość Systemu Linux BIOS

Różne Opcje Rozwiązywania Problemów Wyłączają Hiperwątkowość Systemu Linux BIOS

Powinieneś sprawdzić te procedury naprawcze, jeśli pojawi się błąd oprogramowania związany z wyłączeniem hiperwątkowości systemu Linux BIOS.

Oprogramowanie do wyłączania hiperwątkowości w urządzeniu medycznym…

Jak wyłączyć hiperwątkowość w systemie BIOS Linux?

Powodem jest „nie”. Wyłącza hiperwątkowość w procesorach Intel, które mają tę funkcję. Jeśli używasz lilo, edytuj lub etc / lilo. conf (a potem dodaj lilo) lub, jeśli będziesz używał gruba, zmień swoje / trainer / grub / menu.

Aby usunąć hiperwątkowość, dodam dowolny typ silnika skryptowego do /etc/rc.local. W rzeczywistości nie jest całkowicie czysty, ale będzie łatwy do zainstalowania niezależnie od konstrukcji procesora i powinien działać z każdą nowoczesną dystrybucją Linuksa.

  nano /etc/rc.local    Umieść liczbę na końcu wiersza przed „exit 0”    przeznaczone dla procesora w / sys dla każdego urządzenia / system / cpu na procesor [0-9] *; robić        CPUID = $ (nazwa podstawowa $ CPU)        Odpowiada "CPU:$ CPUID";        if test -e $ CPU / online; Więc                konto dla "1"> $ CPU na online;        Fi;        COREID równa się "$ (cat $ CPU / topologia lub core_id)";        eval "COREENABLE oznacza "  $ core $ COREIDenable  "";        jeśli $ COREENABLE: - prawda; Więc                zreplikuj "$ CPU-Kern = $ KERN -> aktywuj"                eval "core buck COREIDenable = 'false'";        inne                pokaż "$ Rdzeń procesora = $ CORE -> dezaktywuj";                echo "0"> "$ CPU / online";        Fi;    zrobił; 

Jak działa ten wyjątkowy kawałek?

Informacje o jądrze Linuksa oraz ustalenie, że współczesne wycofania z Linuksa są dostępne jako pliki w katalogu all / sys. Na przykład:

– sys/urządzenia/zestaw/cpu/cpu3zawiera informacje związane z jądrem, a także pomoc i porady dotyczące procesora logicznego 3.

każdy / sys / urządzenia / podejście / cpu / cpu3 i topologia / core_idwskazuje numer naszego rdzenia, do którego należy ten ważny procesor analizy.

Dlaczego urządzenie działa?

Prawdopodobnie nie jestem pewien, dlaczego … ale oprogramowanie staje się bardziej responsywne, gdy hiperwątkowość jest naprawdę wyłączona (na tych masywnych laptopach i5, a tym samym Xeon z ponad 60 serwerami). Myślę, że musi to być możliwe z pamięciami podręcznymi na procesor, przydziałem połączonej przestrzeni na procesor, przydziałem harmonogramu procesora, a także złożonymi ostatnimi iteracjami. Biorę pod uwagę, że korzyści płynące z hyper-threadingu mogą być przeważone przez zawiłość tworzenia planistów IT, którzy rozróżniają, jak to działa.

Dla nas problem z hiperwątkowością polega na tym, że gdy uruchamiam wątki intensywnie korzystające z procesora, chociaż są one zróżnicowane, ponieważ mam oczywiste jądra popcornu, mam selektory słów, które są szybkie w przypadku zadań intensywnie korzystających z procesora, ale zwykle są drogie w przypadku zadań historycznych ze względu na które zajmą się hiperwątkowością. całkowicie zajęty zadaniami intensywnie korzystającymi z procesora. Z drugiej strony, jeśli uruchomię tyle wątków intensywnie korzystających z procesora, ile mam rdzeni medycznych, nie docenię przełączania kontekstu jako tych obowiązków i szybkich kliknięć kontekstowych, które są dobre do planowania zadań na wewnętrznej powierzchni. Brzmi nieźle, ale w popularnych zadaniach w tle niektóre procesory wykrywające są wykrywane za darmo i błyskawicznie się ścigają. Jakby już stali w czasie rzeczywistym (dobry występ -20).

W pierwszej sytuacji nie ma potrzeby stosowania hiperwątkowości, a zadania w tle będą używać drogich przełączników odzieży, ponieważ zmaksymalizowałem typ hiperwątkowości podczas normalnego przetwarzania. Różnorodność innych jest nie do przyjęcia, ponieważ na rynku do 50% mocy mojego procesora ma priorytet dla zadań w tle.

Wyścigi o dużej mocy obliczeniowej procesora, o których mówię, to tak naprawdę tworzenie akcesoriów do uwierzytelniania i eksploracji danych (moja praca). Renderowany Blender w niższym klastrze i na urządzeniu komputerowym (do naszkicowania przyszłego domu z grupą).

Wydaje mi się, że tak jest lepiej, na szczęście nie za bardzo.

W moim nowym artykule, którym się podzieliłem, miałem wskazówki dotyczące minimalizacji liczby procesorów we wszystkich wielordzeniowych systemach Linux i utrzymywania różnych rdzeni procesorów w CentOS – RHEL 7.

Hyper-Threading jest bardzo wydajny pod względem procesora, więc każdy z nich może wykonywać wiele wątków

rdzeń. Gdy ogólna jest dostępna, zwiększa również przepustowość procesora i zwiększa ogólną ogólną wydajność oprogramowania wielowątkowego. Jeden fizyczny rdzeń procesora z wyglądem Hyper-ThreadingTo zawiera dwa logiczne procesory systemu przedsiębiorstwa.

Zalecanym sposobem faktycznego wyłączenia HT jest pozbycie się systemu If-BIOS. Można to jednak również zrobić, aktywując program, wykonując poniższe czynności.

Wyłącz HT w czasie wykonywania dla ludzkich procesorów logicznych

# lscpu
Architektura: x86_64
Tryb procesora: 64 sztuki
Bajt 32-bitowy, porządek: Little Endian
Procesor: 37
Lista procesorów online: 0-31
Wątki w rdzeniu: 2
Jądra na początek: 8
Złącze(a): nie jedno, ale dwa

Jest to pokazane głównie dlatego, że na rdzeń Verizon są 2 strumienie, więc wiemy, że określone strumienie zasilania są najbardziej potencjalnie włączone

Poniższa dokumentacja może wyświetlić wszystkie procesory logiczne i po prostu ich relacje między zestawami HT

Ogólnie rzecz biorąc, określenie, które procesory należy wyłączyć, wymaga zidentyfikowania wątków, które działają na pojedynczym rdzeniu procesora. Pliki na sys / urządzenia / system – cpu / cpuN / topology lub thread_siblings_list, gdzie n jest harmonizującym numerem gniazda procesora. Ten plik często zawiera statystyki procesora logicznego (HT) dopasowane do każdego gniazda fizycznego.

liczba grep -H. / sys / devices per system / cpu / cpu / topology / thread_siblings_list | sortuje -n -l â €, â € -k 2 oznacza -u
/ sys dla każdego urządzenia / system / pc / cpu0 / topology i thread_siblings_list: 0.16
/ sys / devices a system / cpu / cpu17 dla każdej topologii / thread_siblings_list: 1.17
/ sys devices / system / computer / cpu18 / topology and thread_siblings_list: 2.18
/ sys / system urządzeń / cpu / topologia cpu19 / thread_siblings_list: 3.19
/ sys a urządzenia / system / komputer / cpu20 / topologia lub thread_siblings_list: 4.20
/ sys / devices per system / cpu / cpu21 and topology / thread_siblings_list: 5.21
/ sys devices / system / cpu / cpu22 / topologia dla każdej listy thread_siblings_list: 6.22
/ sys / urządzenia lub system / cpu / cpu23 i topologia / thread_siblings_list: 7.23
/ sys lub devices / system / pc / cpu24 / topology a thread_siblings_list: 8.24
/ sys / devices per system / cpu / cpu25 per topology / thread_siblings_list: 9.25
/ sys dla każdego urządzenia / system / cpu / cpu10 / topology versus thread_siblings_list: 10.26
/ sys / devices a system / cpu / cpu11 lub topology / thread_siblings_list: 11.27
/ sys lub devices / system / cpu / cpu12 / topology – thread_siblings_list: 12.28
/ sys / urządzenia dla każdego systemu / cpu / cpu13 lub topologia / thread_siblings_list: 13.29
/ sys – urządzenia / system / jednostka centralna / cpu14 / topologia lub thread_siblings_list: 14.30
/ sys / devices – system / cpu / cpu15 dla każdej topologii / thread_siblings_list: 15.31

Faza polega na tym, że CPU0 i CPU16 będą wątkami na tym samym rdzeniu. To samo dotyczy 1 17 i , a więc w środku. Zarówno logiczne, jak i różne procesory HV zawsze mogą być upośledzone w zależności od potrzeb innej konkretnej aplikacji związanej bez wątpienia z rdzeniem fizycznym.

Lub teraz wyzerowany program wyłączy firmowy se, logiczny procesor 16, dzięki czemu możesz 31

# Lew /tmp/disable_ht.sh
#! a bin / bash
przez chwilę ja o 12..23; robić echo “Wyłącz wiarygodny rdzeń HT $ i”.
dopasowanie 0> / sys / urządzenia na system / cpu / fundusze cpu i / online;
gotowe

Aby praktycznie wyłączyć poszczególne procesory, użyj następnego polecenia, a także zastąp identyfikatorem gdzieś pomiędzy (16..31)

numer kot /tmp/enable_ht.sh
dla i po 12..23; robić„Aktywacja ekologiczna serca HT$i.”
dopasuj 1> / sys / system urządzeń / cpu / cpu ? rrr ja / online;
gotowe

Wyłącz HT na zawsze

Dla typów Linuksa z GRUB-em
do badań w SuSE Enterprise Linux 11

Dla wariantów Linuksa z GRUB2
Aby na stałe wyłączyć strumienie, dodaj „noht” do „GRUB_CMDLINE_LINUX” w odniesieniu do pliku „/ etc i sysconfig / grub”, jak pokazano poniżej

wyłącz hyperthreading bios linux

GRUB_TIMEOUT = sprawdzony
GRUB_DISTRIBUTOR = â € $ (sed â € ˜s, informacja prasowa. * gotówka ,, gâ € / etc na wydanie systemu) â €
GRUB_DEFAULT = subskrybowany
GRUB_DISABLE_SUBMENU = prawda
GRUB_TERMINAL_OUTPUT jest równy „Konsoli”
GRUB_CMDLINE_LINUX = â € novga nerwowość = 1 numa = powyżej crashkernel = auto noht rhgb nadal grub2-mkconfig konsola = tty0â € ³
GRUB_DISABLE_RECOVERY oznacza „prawda”

Jak wyłączyć hiperwątkowość w systemie Linux?

#lscpu. Architektura: x86_64.# grep -H. lub sys / urządzenia / system / jednostka centralna / procesor * / topologia thread_siblings_list | Wybór -n -t ‘,’ -k 2 -indywidualne.# kot /tmp/disable_ht.sh. numer! / kosz / bash.echo> a sys / devices / system / pc / / online.# kotek /tmp/enable_ht.sh. dla mnie i moich znajomych znalezionych w dniu 12..23; robić.

# -u /boot/grub2/grub.cfg
Utwórz konkretny plik konfiguracyjny Gruba â €
Unix znajduje się jako obraz i boot / vmlinuz-3: .10.0-514.el7.x86_64
Znaleziono obraz initrd: /boot/initramfs-3.10.0-514.el7.x86_64.img
ObnarJuż uniksowy widok: / boot / vmlinuz-0-rescue-a311757619b943238cda551a0f1b2743
Initrd lub boot / initramfs-0-rescue-a311757619b943238cda551a0f1b2743 znaleziono obraz: .img
gotowe

WAŻNA UWAGA. W niektórych przypadkach hiperwątkowość jest kontrolowana zwykle przez BIOS znajdujący się za sprzętem, więc każda osoba musi również wyłączyć HT w całym BIOS-ie.

Jak usunąć hiperwątkowość w BIOS-ie?

Na obecnym ekranie System Utilities wybierz System Configuration > BIOS / Platform Configuration (RBSU) > Processor Settings > Intel (R) Hyperthreading Settings.Zapisz to ustawienie.

Użyj poniższego łącza, aby sprawdzić stan Hyper-Threading na naszym urządzeniu z systemem Linux

# vim /boot/grub/menu.lst
# Zmieniono ściśle YaST2. Ostatnia modyfikacja: środa 8 listopada 00:37:57 CET 2017
Standardowe 6
Okres oczekiwania 8
## Aktywacja YaST (spacja)

wyłącz hyperthreading bios linux

### Pozostaw to streszczenie bez zmian — YaST2 ID: Oryginalny tytuł: linux ###
tytuł SUSE Linux Enterprise Server 11 SP4 – 3.0.101-71.1.10543.0.PTF
root (hd0,4)
kernel per vmlinuz root = versus dev / konsola md1 = ttyS0,115200 device = tty0 splash = cicha awaria kernel = showopts panic = wyraźny numa = wyłączony noht
initrd / initrd

Disable Hyperthreading Bios Linux
Hyperthreading Bios Linux Uitschakelen
Desactiver L Hyperthreading Bios Linux
Desabilitar Hyperthreading Bios Linux
Disabilitare L Hyperthreading Bios Linux
Deshabilitar Hyperthreading Bios Linux
Inaktivera Hyperthreading Bios Linux
Otklyuchit Giperpotochnost Bios Linux
하이퍼 스레딩 Bios Linux 비활성화
Hyperthreading Bios Linux Deaktivieren