Chciałbym tylko wiedzieć, za co odpowiada kernel_task. Co to jest maksymalne wykorzystanie pamięci RAM i procesora?
Chciałbym tylko wiedzieć, za co odpowiada kernel_task. Co to jest maksymalne wykorzystanie pamięci RAM i procesora?
Odpowiedzi:
Zadanie jądra jest specjalne, ponieważ jest to cały system operacyjny / mikro jądro oparte na Mach 3.0 . Wyznacza większość podstawowego sprzętu, czas, przekazywanie wiadomości i obsługę pamięci.
Większość osób zauważa w Monitorze aktywności kernel_task
gromadzi cały czas procesora dla opóźnień i obliczeń przetwarzania danych wejściowych / wyjściowych (i / o), a także harmonogram narzutu procesów i wątków. Podobnie - gromadzi wszystkie alokacje pamięci, które nie znajdują się w przestrzeni użytkownika. W 2014 i nowszych komputerach Mac, zadanie to polega na dławieniu procesora - gdy temperatury w procesorze są zbyt wysokie, zadanie jądra jest przypisane "brak pracy" i pokazuje wysoki procesor, który pozwala procesorowi pracować bezczynnie i nie przegrzewać komputera. Jest to najbardziej zauważalne na linii przenośnej - zwłaszcza MacBook bez jakiegokolwiek wentylatora lub dmuchawy do chłodzenia procesora. Apple ostrzega o tym przed potencjalnymi programistami jądra "Dlaczego powinieneś trzymać się z dala od programowania w jądrze" to wyłączenie chłodzenia spowoduje trwałe nieodwracalne uszkodzenie sprzętu.
Podsumowując, programowanie jądra jest ogromną odpowiedzialnością. Musisz być wyjątkowo ostrożny, aby upewnić się, że twój kod nie powoduje awarii systemu, nie zapewnia nieautoryzowanego dostępu do cudzych plików lub pamięci, nie wprowadza zdalnego lub lokalnego exploita root i nie powoduje przypadkowej utraty lub uszkodzenia danych .
Jeśli obejrzysz go po ponownym uruchomieniu, zobaczysz, że zaczyna się od minimalnej pamięci RAM i potrzeb procesora, a rośnie tylko wtedy, gdy inne programy działają i wymagają usług systemowych.
Aby go schudnąć, wyłącz niepotrzebne porty (Wi-Fi, bluetooth itp.) Oraz nieaktywne / nieużywane programy. Jeśli coś się nie uspokoi, pomyśl o ponownym uruchomieniu systemu, aby upewnić się, że żadne zadanie nie zostanie zatrzymane lub nie ma wycieku pamięci. Jeśli masz programy wykonujące prawdziwą pracę, spowodują one, że jądro będzie wykorzystywać zarówno pamięć, jak i czas procesora - po prostu obserwuj jak zaczynasz, aby zobaczyć, które inne programy powodują takie zachowanie. Rzadko zdarza się problem z jądrem - nawet w przypadku źle działających programów - którego nie można rozwiązać przez wylogowanie i ponowne zalogowanie. Kernel_task czyści się dobrze i ogólnie dba o to, aby używać tylko zasobów potrzebnych do obciążenia.
Mac OS X Internals: A Systems Approach - Amit Singh - Google Books :
jądro używa abstrakcji zadań i wątków, aby podzielić swoją funkcjonalność na różne przepływy wykonawcze. Jądro używa jednego zadania - zadanie jądra -Z wieloma wątkami wykonującymi operacje jądra, takie jak planowanie, łączenie wątków, zarządzanie wywołaniami, stronicowanie i obsługa wyjątków Uniksa. Tak więc xnu jest monolitycznym jądrem zawierającym wyraźnie różne komponenty, takie jak Mach, BSD i zestaw I / O, wszystkie działające jako grupy wątków w jednym zadaniu w tej samej przestrzeni adresowej.
http://lists.apple.com/archives/darwin-kernel/2010/Sep/msg00014.html :
Zadanie jądra nie jest prawdziwym zadaniem. Reprezentuje jądro, które jest rdzeń systemu operacyjnego. Większość tego, co robi, pojawia się na stronie bezpośrednia prośba o podanie. Za każdym razem, gdy przydzielasz duży blok pamięci, otwórz lub zamknij plik, odczytaj lub zapisz plik, przeciągnij dane przez sieci, utworzyć nowy proces lub wątek itp., twoja aplikacja wykonuje wywołanie systemowe. Te wywołania powodują, że jądro wykonuje pracę dla twojego podanie. Znaczna część tej pracy jest obciążona zadaniem jądra, ale to Naprawdę robi to Twoja aplikacja, choć pośrednio.
Praktyczny powód, dla którego jądro może być nadmiernie pracujące, polega na tym, że twój system jest poza pamięcią i to drażni. Sprawdź wykres ciśnienia w pamięci pod Pamięć zakładka Monitor aktywności aby zobaczyć, czy jest żółty lub czerwony.
W takim przypadku można sortować procesy według pamięci i kończyć niektóre, które zużywają dużo, aby zmniejszyć ciśnienie. (np. zabij niektóre procesy Pomocników Google Chrome)