Czym dokładnie jest Priorytet i koligacja (znalezione w Menedżerze zadań) i do czego służą:
W jakich sytuacjach należy / można ich użyć i jakie korzyści można znaleźć podczas dostosowywania tych ustawień.
Czym dokładnie jest Priorytet i koligacja (znalezione w Menedżerze zadań) i do czego służą:
W jakich sytuacjach należy / można ich użyć i jakie korzyści można znaleźć podczas dostosowywania tych ustawień.
Odpowiedzi:
Ustawienie powinowactwa coś robi, ale nigdy nie będziesz chciał tego używać.
Ustawienie powinowactwa procesora zmusza system Windows do używania tylko wybranego procesora (lub rdzeni). Jeśli ustawisz powinowactwo do jednego procesora, system Windows będzie uruchamiał tę aplikację tylko na tym procesorze, nigdy na żadnym innym.
Windows automatycznie umieszcza uruchomione aplikacje na najmniej obciążonym procesorze, więc ograniczenie go do jednego procesora nie pozwala Windowsowi wykonać swojej pracy. Nawet jeśli procesor / rdzeń 1 jest zajęty uruchamianiem innych aplikacji, system Windows nie będzie mógł uruchomić aplikacji z powinowactwem ustawionym na procesorze / rdzeniu 2.
Naprawdę jedynym powodem, dla którego chcesz to zrobić, jest uruchomienie starej aplikacji, która nie działa poprawnie, gdy działa na systemie wieloprocesorowym / rdzeniowym.
Ustawienie powinowactwa mówi temu procesowi, na jakich procesorach może on działać.
Chociaż jest to bardzo przydatne w niektórych niszowych przypadkach, przeciętny użytkownik prawdopodobnie nie powinien z tym zadzierać.
Na przykład, jeśli procesowi pozwoliłby uruchomić swój własny rdzeń, mógłby on działać w czasie (bliskim) w czasie rzeczywistym bez tych 70 narzędzi systemu Windows stale przerywających procesor i wymieniających stosy na procesorze dla własnego przedziału czasu. Aplikacje działające w czasie rzeczywistym były czymś, czego system Windows nigdy nie mógł zrobić, zanim systemy wieloprocesorowe / wielordzeniowe nie pojawią się na scenie, ponieważ system operacyjny nieustannie zakłóca / przełącza zadania na własne potrzeby. Można to teraz w większości rozwiązać przez odizolowanie jednego procesora aplikacji w czasie rzeczywistym, jednocześnie uniemożliwiając korzystanie z tego procesora przez wszystkie inne aplikacje w systemie. Jest to bardzo niszowy temat, ale systemy takie jak (rzeczywiste) symulatory lotu, automatyzacja fabryki i systemy sterowania zwrotnego zależą od architektury działającej w czasie rzeczywistym.
Aplikacje intensywnie korzystające z procesorów (takie jak maszyny wirtualne) można odizolować od własnych rdzeni, aby można było z nich korzystać bez przeszukiwania reszty systemu. Teoretycznie hiperwizor działający na procesorze, który obsługuje interakcję bez nadzoru metalu, może osiągnąć wydajność procesora równą niezależnemu systemowi operacyjnemu działającemu samodzielnie (bez procesora wymaganego do uruchomienia systemu operacyjnego hosta). Oczywiście w praktyce nawet maszyna wirtualna działająca na własnym izolowanym rdzeniu / procesorze nadal będzie musiała zaakceptować niewielki narzut z hosta systemu operacyjnego hosta.
W przypadku aplikacji, które przetwarzają dużą ilość przepływających danych, izolacja aplikacji do własnego procesora (i potencjalnie nadal wykorzystująca wiele rdzeni) ograniczy wymianę pamięci podręcznej.
Starsze aplikacje, które psują się, gdy są rozproszone na wielu procesorach, można skutecznie ograniczyć do jednego rdzenia / procesora, aby rozwiązać problem.
Jeśli wykonujesz pomiary wydajności dla konkretnej aplikacji, prawie niemożliwe jest uzyskanie spójnych wyników w różnych systemach, chyba że możesz odizolować proces, ponieważ w przeciwnym razie nie masz kontroli nad tym, ile czasu system operacyjny daje aplikacji. Większość ludzi zgadza się, że pomiar wydajności środowiska wykonawczego nie daje dobrych wyników, ale ci ludzie nigdy nie brali pod uwagę, że interwencja systemu operacyjnego (która powoduje, że wyniki są tak niespójne) może być ograniczona za pomocą powinowactwa.
Istnieje wiele przypadków, w których powinowactwo jest niezbędne, ale jeśli nie wiesz, czym one są, prawdopodobnie nie będziesz go potrzebować.
Jest to bardzo przydatna funkcja w niektórych scenariuszach. Załóżmy, że masz aplikację wielowątkową, która zwykle jest bezczynna lub agresywnie chwyta 100% każdego procesora przez kilka minut, wyszukuje, buduje itp. Nazwijmy tę aplikację „zaćmieniem”.
Powiedzmy również, że pracując nad tą aplikacją, masz wiele innych aplikacji, które mają skromne wymagania dotyczące procesora, ale są to aplikacje w czasie rzeczywistym. Na przykład podczas korzystania z Eclipse i losowego uruchamiania kompilacji lub kompilacji gwt, używasz również komputera do strumieniowego przesyłania muzyki lub przeprowadzania badań w oknie przeglądarki (na przykład, szukając przyczyny problemu z kompilacją) . Jasne, nie umrzesz, jeśli Twoja muzyka przeskoczy lub przeglądarka przestanie odpowiadać, ale to denerwujące.
To, co pozwala ci na to, polega na ograniczeniu aplikacji do jedzenia procesora do 7/8 rdzeni, aby wszyscy mieli zagwarantowany dostęp do stosunkowo nieużywanego procesora i nie musieliście stale radzić sobie z jąkaniem się i zakłócaniem użyteczności wszystkiego na twoim komputerze podczas zaćmienia.
Wyższy priorytet oznacza, że przetwarzanie zadania będzie korzystniejsze niż zadania o niskim priorytecie. Jeśli korzystasz z aplikacji wymagającej szybkiego reagowania, a na przykład jest wiele innych nieinteraktywnych procesów, priorytety mogą zapewnić lepszą obsługę procesu o wysokim priorytecie.
Na przykład: od Windows Vista Windows Media Player automatycznie otrzymuje wyższy priorytet, aby zapewnić płynne i ciągłe odtwarzanie plików multimedialnych, przy czym tylko około 20% czasu procesora jest domyślnie dostępne dla innych procesów. To tylko przykład, który pomoże ci zrozumieć, jakie są priorytety. (Możesz przeczytać więcej o priorytetach Media Player w Vista w Technet .)
Miękkie lub twarde powinowactwo może zwiększyć szybkość przetwarzania, ponieważ pamięć podręczna procesora może nadal zawierać resztki procesu, gdy proces został wcześniej przerwany, a następnie wznowiony w późniejszym czasie.
Doskonałym tego przykładem są stare gry komputerowe (lub inne oprogramowanie), zwłaszcza gdy gry 32-bitowe (aplikacje) są emulowane na nowoczesnym komputerze 64-bitowym. Ustawiając powinowactwo do starych gier ograniczając je tylko do czterech rdzeni, CZĘSTO można uniknąć awarii, aby umożliwić uruchomienie gier typu stubburn. Niektóre silniki renderujące używane w grach OLD, edytorach wideo i oprogramowaniu graficznym przyspieszanym sprzętowo lub oprogramowaniu CAD nie rozumieją więcej niż czterech rdzeni procesora i ulegają awarii podczas uruchamiania.
Nie tworzę konta tylko po to, żeby to opublikować, aby znaleźć mnie w Google „kieseyhow”