Po zainstalowaniu Ubuntu Studio 12.04 odkryłem, że używa on jądra o niskim opóźnieniu. Szukałem, dlaczego i jak zmienić z powrotem na zwykły lub ogólny. Ale wygląda na to, że ta część Linuksa nie była tak bardzo omawiana.
P: Dlaczego warto wybrać jądro o niskim opóźnieniu w stosunku do standardowego lub działającego w czasie rzeczywistym?
-realtime
jest czas rzeczywisty, to co oznacza-rt
? A co jest z-preempt
jądrem? Będę wdzięczny gemue2010, wykonał całkiem dobrą robotę, tłumacząc to, ale wciąż nie wszystko wyjaśnia.Odpowiedzi:
Źródło pomocy Ubuntu
To zależy od tego, co zrobisz ze swoją dystrybucją studyjną. Dla większości użytkowników potrzebujących szybkiego czasu reakcji użytkownika końcowego ogólne wystarczy, a dla innych, którzy potrzebują profesjonalnej edycji wideo, gdzie nawet proste upuszczenie klatki jest niedopuszczalne, potrzebne jest jądro w czasie rzeczywistym.
Aby uzyskać bardziej wyczerpujący i łatwy do zrozumienia post na blogu, przeczytaj ten link
źródło
-preempt
,-rt
, i-realtime
jądra no-przestały istniećJestem autorem posta na blogu połączonego z fanem ubuntu: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/
Ten post na blogu nie przedstawia żadnego faktu, to tylko teoria . W rzeczywistości działa tak: procesor „zatrzymuje się” częściej, aby sprawdzić, czy są jakieś procesy wymagające natychmiastowej uwagi. Oznacza to, że procesy te będą wykonywane przed innymi, więc nie będziesz pomijać ramek podczas kodowania, ani nie będziesz miał dużych opóźnień między kliknięciami myszy a śmiercią wroga. Nie oznacza to, że wszystkie procesy zakończą się wcześniej: w rzeczywistości procesor traci większą część swojego czasu decydując, który proces zostanie wykonany w następnej kolejności i dokonując zmiany kontekstu. Tak więc całkowity czas wykonania jest dłuższy i dlatego nikt nie uruchamia jądra możliwego do uniknięcia na serwerze WWW lub maszynie baz danych. Ale jądro o częstotliwości 300 Hz (a nawet 1000 Hz) jest najlepsze dla serwerów gier.
Ale obecnie procesory mają wiele rdzeni, więc gdy jest niewiele procesów wymagających uwagi, można je łatwo przypisać do innego rdzenia, zamiast czekać na rdzeń, aby go przejąć.
(Stackexchange wymaga ode mnie referencji / osobistych doświadczeń: jestem elektronicznym inżynierem, żądnym krwi noobgamer obsługującym kilka serwerów gier na http://www.gamezoo.it ).
Tak więc, ogólnie rzecz biorąc, powiedziałbym: jeśli twój procesor jest potężnym czterordzeniowym trzaskiem o wysokiej częstotliwości ORAZ zwykle nie otwierasz ton stron podczas kodowania / dekodowania / grania (huh), możesz po prostu wypróbuj ogólne (lub i686 lub amd64, jeśli istnieją) jądro i uzyskaj najwyższą możliwą przepustowość (tzn. procesor może przetwarzać surowe liczby). Jeśli napotkasz problemy (powinny być naprawdę niewielkie) lub twoja maszyna jest nieco mniej wydajna niż czołówka na rynku, skorzystaj z opcji -preempt.
Jeśli korzystasz z niskiej klasy komputera, który ma tylko jeden lub dwa rdzenie, wypróbuj opcję -lowlatency. Możesz także wypróbować opcję -realtime, ale przekonasz się, że ma ona tendencję do blokowania procesów, dopóki „w czasie rzeczywistym” nie zakończą swojej pracy. Wierzę, że jądro czasu rzeczywistego nie jest „waniliowe”, ale ma zastosowaną łatkę CONFIG_PREEMPT_RT. Myślę, że jądra czasu rzeczywistego są przeznaczone tylko dla tych, którzy muszą zbudować pojedynczą aplikację na systemach wbudowanych, więc zwykli użytkownicy komputerów stacjonarnych nie powinni mieć rzeczywistych korzyści, ponieważ zwykle uruchamiają sporej liczby aplikacji w tym samym czasie.
Wreszcie, najbardziej odpowiednie opcje jądra, jeśli chcesz samodzielnie skompilować jądro, aby mieć pulpit o niskim opóźnieniu:
i:
Aby dodać oszczędność energii, możesz to sprawdzić:
źródło
Z dokumentu cytowanego powyżej ( http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp )
Artykuł mówi, że twarde jądro czasu rzeczywistego bez odpowiedzi lub czas jest najważniejszą właściwością, więc czasami opóźniają niekrytyczną aktywność, która prowadzi do opóźnienia, ale dla lowlatency lub innego miękkiego jądra w czasie rzeczywistym starają się zmniejszyć ogólne opóźnienie, które pomaga w większości przypadków. Z powodu zmniejszonego opóźnienia system wydaje się być szybki. Przeczytaj uważnie artykuł.
źródło
Mam ten stary laptop z podwójnym procesorem AMD A6-4400M o częstotliwości 1600 MHz, którego używam oszczędnie, kiedy jestem poza biurem, głównie do czytania wiadomości e-mail i przeglądania zwykłych stron internetowych. Było coś, prawdopodobnie związanego z aktualizacjami oprogramowania, co powoduje, że nie odpowiada. Coś jak wpisanie kilkunastu znaków bez zobaczenia pierwszego. Często widżet pyta, czy powinienem wymusić zakończenie procesu.
Po
sudo apt-get install linux-lowlatency
ponownym uruchomieniu komputer stał się płynny i responsywny. (uname -r 5.0.0-20-lowlatency.) Cudownie, powinienem był zmienić lata temu. Pozwólcie, że podkreślę odpowiedź Seven: jeśli nie chcesz wycisnąć maksimum z serwera do łamania liczb, skorzystaj z opcji -preempt !źródło