Terminal pogryzł człowieka: ttyload

To niewiarygodne jak niewiele osób przykłada uwagę do tego, co wskazuje Load Average w Linuksie. Zgoda, dla przeciętnego konsumenta treści internetowych jest to parametr kompletnie bez znaczenia. Jednak jeżeli mamy ambicję panowania na swoją maszyną w momentach krytycznych, to Load Average urasta do rangi… Wysokiej. Ale nawet jeżeli poznamy już tajemnicę trzech enigmatycznych liczb, to ttyload wyniesie skalę naszego poznania na nowe płaszczyzny.

ttyload
Podstawowe zalety ttyload? Jest niemal w każdym repozytorium i w formie niemal graficznej zaprezentuje nam obciążenie naszego serwera/desktopu.

Ale czym jest wspomniane Load Average? Ilu uczących, tyle definicji Load Average. Należy zatem wrócić się do czasów procesorów jedno-rdzeniowych i zaakceptować fakt, że jeden rdzeń w jednostce czasu jest w stanie wykonywać tak naprawdę jeden proces. Reszta czeka grzecznie w kolejce. Load Average to średnia ilość procesów w kolejce do wykonania w okresie 1, 5 i 15 minut. Tak też właśnie można wykazać obciążenie systemu procesami. Wartość jeden oznacza, w ciągu jednej minuty jeden proces czekał na swoją kolejkę. To bardzo niedobrze (pamiętamy o naszym CPU – jeden rdzeń, bez wielowątkowości). Jeden oznacza, że procesor był zajęty cały czas obsługą różnych zdarzeń. Można to przełożyć na 100% zajętości procesora. I teraz uwaga, jeżeli pojawia się nam więcej rdzeni, wątków, czegokolwiek – to wtedy wartość 1 mnożymy przez ilość rdzeni. Tym sposobem otrzymamy wartość graniczną dla naszego nowoczesnego CPU.

Tyle pokrętnej teorii (nigdy nie potrafiłem wyjaśnić tego lepiej na rozmowach kwalifikacyjnych). Gdzie tu miejsce dla ttyload? Wspomniany programik narysuje nam ładne i przy okazji tekstowe wykresy obciążenia naszej maszyny. Będziemy zatem mogli prześledzić historię obciążenia. Na dodatek, ttyload jest niemal bezobsługowy – wystarczy wpisać polecenie i gotowe. Dociekliwi odkryją jednak, że możemy sterować szerokością i wysokością wykresu, oraz częstotliwością odświeżania:

Usage: ttyload [<options>]

 Available options:
  -h -- show this help, then exit
  -v -- show version info, then exit
  -m -- monochrome mode (no ANSI escapes)
  -c cols -- how many cols wide is the screen?
  -r rows -- how many rows high is the screen?
     (these two options override the default
     behavior of auto-determining screen size)
  -i secs
     Alter the number of seconds in the interval between refreshes.
     The default is 4, and the minimum is 1, which is silently clamped.

  (Note: use ctrl-C to quit)

Program występuje w repozytoriach niemal wszystkich dystrybucji – wystarczy go po prostu zainstalować.