Czasami moje serwery wykazują wysoką średnią obciążalność w „górnym” programie (np. Obciążenie wynosi ~ 10 na 4-rdzeniowym komputerze), ale faktyczne użycie procesora nie jest szczególnie wysokie.
Zakładam, że problem polega na tym, że działa wiele zadań intensywnie korzystających z operacji we / wy. Czy jest jakiś prosty sposób na zidentyfikowanie tych zadań, które powodują obciążenie, jeśli ich górne wartości „% CPU” nie są tak wysokie?
top
polecenia?Odpowiedzi:
iostat
może zgłaszać takie statystyki. Zwykle zawarte w dystrybucji w pakiecie sysstat.Warto też spojrzeć na dstat , to nowoczesny zamiennik.
źródło
iostat
miała być moją odpowiedzią.Jeśli w twoim jądrze jest rozliczanie IO , możesz użyć tego
iotop
do podania takich informacji. Ponadto narzędzia do monitorowania, takie jak zebrane, mogą rejestrować i raportować dane.źródło
Aby dowiedzieć się, co powoduje duże obciążenie, możesz sprawdzić kilka rzeczy.
vmstat -w
pokaże ci ovierwiem (procesy, zamiana, mem, procesor, io, system)pmstat -P ALL
dostarczy Ci statystyki (z% iowait) na rdzeń procesoraiostat -x
poszukaj wysokiego% wykorzystania lub długiego oczekiwania lub dużej średniej wielkości kolejkiiotop
ps -ax
poszukaj stanu D, który jest nieprzerwanym snem (zwykle IO), uruchom go jeszcze raz, sprawdź, czy nadal są w stanie Dsar -b
- ogólne działania iosar -d
- indywidualne działania urządzenia blokowego ioźródło