Korzystając z funkcji top, htop, uptime itp., Możemy zobaczyć średnią wartość obciążenia jako trzy wartości wskazujące średnie obciążenie z ostatnich 1/5/15 minut ( no nie do końca , ale nie o to tutaj chodzi).
Czasami zauważam, że mam dość wysoką średnią wartość obciążenia przez ostatnie 15 minut, ale obecne obciążenie jest bardzo niskie. Czy istnieje narzędzie / program, który może wymienić procesy (nawet jeśli już nie istnieją), które zużywały najwięcej czasu procesora w ciągu ostatnich 1/5/15 minut (lub innego podobnego okresu)?
Zdaję sobie sprawę, że średnie obciążenie może być również spowodowane procesami oczekującymi na operacje we / wy, ale najbardziej interesuje mnie widok najbardziej obciążających procesor aplikacji (chociaż dobrze byłoby też zobaczyć historyczne operacje we / wy).
O ile wiem, uruchomienie htopa i sortowanie według czasu nie może mi tutaj pomóc, ponieważ jeśli komputer był włączony przez pewien czas, najwyższe wartości niekoniecznie będą miały związek z ostatnią przeszłością.
Odpowiedzi:
Proponuję użyć
atop
. Jest to demon zbierający domyślnie wszystkie najważniejsze informacje co 10 minut i możesz po prostu cofnąć się w czasie, oglądając te „najlepsze” migawki. Dostosuj domyślne ustawienie interwału do swoich potrzeb (zużywa więcej miejsca na dysku, jeśli jest ustawione częściej).Wczoraj odpowiedziałem na podobne pytanie , w którym zamieściłem bardzo krótkie instrukcje.
źródło
atop
informacje mogą pomóc odgadnąć, w jaki sposób tworzone są wartości obciążenia (podsumowane)? innymi słowy, co robi ten algorytmhtop
, aby skonstruować średnią obciążenia i dlaczego nie jest wyświetlany na proces? (Myślę, że to zasługuje na nowy wątek?)Sądząc po wskazaniu htop Zakładam, że używasz Linuksa.
Możesz rzucić okiem na narzędzie o nazwie sar , które jest często używane w systemie Solaris, ale rzadko widziałem go w systemie Linux. Jest w stanie rejestrować aktywność systemu przez jeden dzień, a następnie raportować ją w różnych odstępach czasu. Możesz także spojrzeć na Orca, ale statystyki danych są nadal według systemu.
Jeśli potrzebujesz danych procesowych, to oczywiście są to płatne produkty, takie jak TeamQuest .
źródło
O ile nie skonfigurujesz narzędzia do gromadzenia danych, odpowiedź brzmi „nie”, nie ma takiego wbudowanego narzędzia, które rejestrowałoby wykorzystanie różnych zasobów.
Z drugiej strony, każda instalacja Linuksa jest dostarczana z narzędziem sar, które odnosi się do tematu, o którym mówisz. Nie będę szczegółowo omawiał sposobu zbierania danych i wydobywania tych danych w celu raportowania, ponieważ potrzeby każdego serwera i każdej organizacji są inne.
Zaloguj się do swojego serwera i zacznij czytać stronę man
sar
polecenia. Następnie wyszukaj w Google, jak skutecznie używać sar. W krótkim czasie będziesz mógł skonfigurować narzędzie do gromadzenia danych. Gdy napotkasz problem, po prostu kopiesz w dziennikach sar przez określony czas i znajdujesz zasoby, które zostały wykorzystane wyżej niż zwykle itp.Jest to nieocenione narzędzie do przekonania kierownictwa do zainwestowania pieniędzy w zakup / modernizację sprzętu, jeśli stale korzystasz z taktowania 75% lub wyższego wykorzystania i nie ma innego sposobu, aby im to udowodnić. Istnieją nawet makra programu Excel do tworzenia raportów graficznych (czytanych jako Management-speak) z surowych danych sar, jeśli się nie mylę.
źródło