Jeśli top pokazuje duże obciążenia i nie wiesz, czy proces powodujący to zajmuje czas procesora, czy też sieciowe operacje we / wy (nie lokalne operacje we / wy), jak możesz to sprawdzić?
Na naszym serwerze widzę wysokie wartości obciążenia, ale w połączeniu z bezczynnością 60% -70% i około 25% użytkowników. Chciałbym wiedzieć, jak interpretować takie wartości, ale w Internecie prawie zawsze czytam, że możesz użyć iostat, aby sprawdzić, czy proces niszczy twoje dyski. Ale już wiem na pewno, że tak nie jest. Proces, o którym mowa, również nie ma problemów z wykonaniem zadania, ale obciążenie jest nadal wysokie.
Czy istnieje więc sposób, aby dowiedzieć się więcej, która część jest spowodowana oczekiwaniem sieci, a która część jest spowodowana rzeczywistym czasem procesora? A jakie jest znaczenie „bezczynności” u góry?
Dla jasności: z obciążeniem mam na myśli 3 liczby, które oznaczają średnie procesy w kolejce na rdzeń. Na tej maszynie znajduje się 8 rdzeni, a liczby dochodzą do 25, co oznacza obciążenie 2,5 na rdzeń.
źródło
uptime
wyjściu)?htop
do podglądania procesów. W szczególności może pozwolić ci wybrać proces, a następnie użyćl
polecenia, pokaże wszystkie otwarte pliki przy użyciu urządzeńlsof
włączającychIPv4
iIPv6
przesyłających strumieniowo itp. Jeślistrace
zainstalowałeś na swoim urządzeniu, możesz także debugować połączenia systemowe i sygnały. Nie do końca odpowiedź, ale kolejne narzędzie, które rozważę w związku z tym, co próbujesz zbadać.Odpowiedzi:
Sieciowe operacje we / wy nie są brane pod uwagę w metodzie Linux iowait, chyba że są częścią transakcji NFS, w którym to przypadku są traktowane jako operacje we / wy na dysku.
Poza hipotetycznym oczekiwaniem NFS, żadna część średniego obciążenia nie jest przejmowana przez sieć oczekującą.
Oznacza to procent czasu, w którym procesor nie znajduje się w innym z wymienionych stanów (użytkownik, system, nice, iowait, przerwania sprzętowe, przerwania programowe, skradzione). Obejmuje to oczekiwania sieciowe. W stanie bezczynności procesor zasadniczo nic nie robi. Zauważ, że iowait to także czas bezczynności, ponieważ procesor też nic nie robi.
źródło