Jak widać ekran htop jest podzielony na kilka części zawierających kolejno:

  • informacje o obciążeniu procesora zajętości pamięci i pliku wymiany
  • ilości uruchomionych procesów (tasks)
  • średnim obciążeniu sytemu (load average)
  • czasie działania systemu (uptime)
  • interaktywną listę procesów

Każda ze wspomnianych części jest konfigurowalna przez użytkownika. Klawisz F2 daje nam dostęp do menu “setup” gdzie mamy cały wachlarz możliwości ustawień co, gdzie i w jakiej formie htop ma nam pokazywać.

htop - wygląd

Zatrzymajmy się na chwilę przy każdej części:

Obciążenie procesora, zajętość pamięci, i użycie pliku wymiany: htop pokazuje każdy procesor bądź rdzeń na osobnym wskaźniku. Tak więc w przypadku, gdy w systemie mamy jeden procesor 1-rdzeniowy, to zobaczymy jeden wskaźnik. Jeśli natomiast nasz komputer posiada jeden procesor 4-rdzeniowy, bądź dwa 2-rdzeniowe to htop pokaże nam w każdym przypadku cztery wskaźniki.

Lista procesów: procesy w formie listy lub drzewa, które możemy sortować pod względem wykorzystania procesora, pamięci, itp. Najbardziej rzuca się w oczy możliwość “przewijania” listy procesów zarówno w pionie jak i poziomie, co pozwala na pokazanie kompletnej listy procesów wraz z kompletną linią poleceń. Htop umożliwia także “zabicie”, jak i zmianę parametru “nice” procesu, bez podawania jego numeru PID, jak to ma miejsce w top, wyświetlenie otwartych plików przez dany proces, czy też śledzenie jego wywołań systemowych. F1, bądź ? daje nam dostęp do ekranu pomocy, gdzie opisane są możliwości programu w tym zakresie.

Tasks, load average, uptime: tutaj chciałbym zatrzymać się na dłużej, gdyż o ile tasks i uptime mówią raczej same za siebie, to load average jest bardzo ciekawym parametrem, gdyż dzięki niemu możemy w jednej chwili ocenić czy nasz system ma kłopoty wydajnościowe związane z procesorem, czy też nie. Jak sama nazwa wskazuje wyraża on średnie obciążenie, jednak nie w formie do jakiej z reguły jesteśmy przyzwyczajeni czyli “procentów”. Zamiast tego mamy trzy liczby. Są to średnie obciążenia systemu liczone odpowiednio w czasie: ostatniej minuty, pięciu ostatnich minut i piętnastu minut. Natomiast cyfry oznaczają liczbę procesów wykonywanych w danej chwili i liczbę procesów czekających na dostęp do procesora.

Reasumując:
Load average: 2.23, 0.89, 0,60 odczytujemy następująco: w ciągu ostatniej minuty w naszym systemie wykonywany był średnio jeden proces a drugi i “jeszcze trochę” czekało w kolejce na dostęp do procesora. Przekładając to na procenty możemy powiedzieć że średnio licząc nasz procesor miał o 123% więcej zadań do zrealizowania niż był w stanie zrobić. W ujęciu pięciu minut, miał do wykonania 0.89 procesu, a więc przekładając był obciążony w 89%, a w ujęciu piętnastu minut w 60%. Jaka wartość load average świadczy że nasz system nie ma problemów z wydajnością od strony procesora? Każda poniżej 1.00. Teoretycznie przy wartości 1.00 procesor jest w pełni i optymalnie wykorzystany, ale osobiście liczby około 0.80 przyjmuję jako wartości skłaniające do rozmyślań o rozbudowie serwera.

Pamiętajmy w tym miejscu o bardzo istotnej kwestii – ilości procesorów i rdzeni. Na maszynach 4-rdzeniowych możecie spotkać się z load average o wartości na przykład 3.55 i system będzie działał płynnie. Taka wartość load average na sprzęcie z jednym 1-rdzeniowym procesorem spowoduje praktycznie całkowite zapchanie systemu. Ma to miejsce dla tego, że load average jest liczony dla każdego rdzenia osobno, a więc na maszynie z szesnastoma rdzeniami może spokojnie wynosić dajmy na to 12.76 i to tylko świadczy o tym, że dobrze zaplanowaliśmy nasz zakup.

Na koniec rodzynek – system przyzwoicie obciążony czyli load average = 94.43, 58.04, 27.70
(źródło: http://htop.sourceforge.net/)

Htop - 128 rdzeni w komputerze