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ń.
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ących IPv4
i IPv6
przesyłających strumieniowo itp. Jeśli strace
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ć.
uptime
wyjściu)?