Za każdym razem, gdy loguję się na moje serwery za pośrednictwem SSH, miga mi trochę informacji o serwerze. Adres IP IE, zamiana użycia, użycie pamięci itp. Jedną z rzeczy, które mi miga, jest ładowanie systemu. Teraz przez większość czasu numer obciążenia systemu wynosi <0,10, ale innym razem widziałem, że wzrasta do 0,89 (zwykle w pobliżu rozruchu).
To rodzi pytanie, jak wysokie może być obciążenie systemu? Na przykład, czy może wzrosnąć do 2,00, a nawet 100,00?
100.89
byłoby bardziej prawdopodobne niż100.00
Odpowiedzi:
Absolutnie. Patrząc na
uptime
stronę man:Więc jeśli masz wiele procesów oczekujących na uruchomienie (lub wiele procesów zablokowanych oczekujących na operacje we / wy), będziesz mieć wysoką średnią obciążenia. Ten artykuł mówi o tym bardziej szczegółowo i zawiera przydatne linki do innych zasobów.
W nieobciążonym systemie średnia obciążeń będzie zwykle zawierać się w przedziale 0 <= średnia_obciążenie <= n , gdzie n jest liczbą rdzeni w systemie.
źródło
Widziałem żywe systemy uderzające tysiące. Obciążenie średnie względna miara oparta na procesach oczekiwania, ile konkurencji jest w celu zwrócenia uwagi na jądra i zapewnienia CPU czasu. Jeśli maszyna jest zalana zadaniami lub ulega awarii, może to zająć dużo czasu.
Poziom, który jest akceptowalny, zależy od maszyny, liczby rdzeni, rodzaju używanego harmonogramu zadań jądra i zadań, których się spodziewasz. Mam kilka maszyn, które są całkiem zadowolone w zakresie ~ 10, ale spadają, jeśli trafią ~ 40-50. Inne stają się zauważalnie opóźnione w wieku 2 lat i nie będą nadawać się do użytku w wieku 10 lat.
Nie jest niczym niezwykłym, że ładunek jest wysoki podczas rozruchu, ponieważ wiele rzeczy jest wykonywanych jednocześnie, a maszyna się kończy. Uważam, że ~ 1 jest normalnym obciążeniem podczas uruchamiania systemu Linux na komputerze stacjonarnym, a następnie ustala się na ~ 0,1, nie robiąc nic.
źródło
W systemie Linux średnie wartości obciążenia systemu składają się z procesów w jednym z trzech różnych stanów. Ogólnie można powiedzieć, że średnia obciążalność to ilość procesów oczekujących na czas procesora lub zużywających czas procesora. Trzy wartości w zestawieniu średniej obciążenia to średnia obciążenia w ciągu ostatniej minuty, ostatnich 5 minut i ostatnich 15 minut.
Trzy różne stany procesów liczone do średniej obciążenia to: (1) procesy działające na CPU, (2) procesy oczekujące na czas procesora i (3) procesy w nieprzerwanym śnie. Ostatnia kategoria, nie generując obciążenia procesora, może znacznie zwiększyć średnie obciążenie systemu.
Na przykład tuzin procesów oczekujących na odczyty z dysku, który jest bardzo zajęty lub niedostępny, generuje średnio obciążenie 12 jako procesy w nieprzerwanym trybie uśpienia, ale w międzyczasie procesor może być całkowicie bezczynny.
Tak, tak, średnia obciążenia może łatwo wzrosnąć do podwójnych cyfr. To, jak źle jest, zależy raczej od twojego sprzętu. Jeśli masz 16 rdzeni, posiadanie 16 procesów oczekujących na czas procesora nie jest takie złe. Na maszynie z jednym rdzeniem posiadanie 3 procesów oczekujących na czas procesora może być bardzo złe.
źródło
Wykonaj prosty proces C, uruchamiając nieskończone pętle w 10000 wątkach. Nadaj mu bardzo niski priorytet (+20). Twoje obciążenie wyniesie 10000, podczas gdy twój system będzie nadal użyteczny. Zużyje tylko bardzo mało pamięci RAM (najwyżej kilka megabajtów).
Chociaż jest to dość rzadka konfiguracja, w prawdziwych systemach tego nie znajdziesz.
Obciążenie systemu oznacza tylko średnią liczbę procesów oczekujących na przedział czasowy procesora, nie mniej i nie więcej. Oto kolejna odpowiedź na temat właściwego sposobu interpretowania obciążenia systemu .
W codziennym doświadczeniu obciążenie powyżej 30+ oznacza głównie pewien problem.
źródło
Kilka sekund po zabiciu procesu, który zjadał starą jednostkę centralną o częstotliwości 450 MHz:
źródło
Po wielokrotnym uruchomieniu procesów, które blokują natychmiast, obciążenie będzie tak wysokie, jak liczba procesów, które uda się uruchomić. Zakładając, że masz wystarczającą ilość pamięci RAM, aby system nie zamieniał się, system pozostanie nawet responsywny, ponieważ obciążenie z powodu procesów blokowania nie jest tak naprawdę szkodliwe.
źródło
Widziałem serwer działający z obciążeniem> 200.
Przeprowadziłbym test warunków skrajnych i zobaczyłem.
źródło