Próbuję zrozumieć niektóre dane pobrane z SAR. Mam trzy główne pytania na ten temat. Na koniec chciałbym ustalić, ile procesorów było bezczynnych przy każdym interwale próbkowania w klastrze serwerów.
- Wiele procesorów nie pojawia się w każdym wpisie. Czy jest to oczekiwane i co to dokładnie oznacza? Czy to jest związane z # 2?
- Są nieużywane linie (CPU = U). Dokumentacja mówi „U wskazuje niewykorzystanej zdolności całego systemu”. Naprawdę nie mogę znaleźć dokładnej definicji „ogólnosystemowej nieużywanej pojemności” ani żadnej definicji. Nie jestem pewien, jak zinterpretować wiersz, który mówi coś takiego: „nieużywana pojemność była w 70% bezczynna”.
- Wreszcie nie jestem pewien, w jaki sposób obliczana jest linia
-
luball
. Sądzę, że jest to średnia wszystkich procesorów, ale kiedy wykonuję matematykę na wszystkich procesorach, otrzymuję zupełnie inną odpowiedź niż to, co jest na tej linii. Czy ktoś może mi dokładnie powiedzieć, co należy do tych obliczeń? Patrząc uważnie na to pokrewne pytanie dotyczące SAR , wydaje się, żesystem-wide
procent bezczynności jest sumą iloczynu procentu bezczynności każdego procesora i wartości „physc”. Niestety nie mamphysc
% lub entc% (zakładając, że istnieje), więc nie mogę tego zweryfikować na podstawie własnych danych. Jeśli to prawda, czy to oznacza, że potrzebujęphysc
wartości, aby naprawdę zrozumieć procent bezczynności?
Oto kilka przykładów tego, co widzę. Wszystkie pochodzą z tego samego dnia.
CPU | Idle CPU | Idle CPU | Idle
---------- ---------- ----------
0 | 8 0 | 15 0 | 17
1 | 25 1 | 94 1 | 32
2 | 79 2 | 100 2 | 97
3 | 62 3 | 99 3 | 71
4 | 5 4 | 13 4 | 5
5 | 7 5 | 13 5 | 23
6 | 6 6 | 99 6 | 71
7 | 7 7 | 44 7 | 98
8 | 11 8 | 12 8 | 48
9 | 17 12 | 0 12 | 38
10 | 33 16 | 12 16 | 37
11 | 64 20 | 3 20 | 42
12 | 6 U | 95 U | 97
13 | 6 - | 15 - | 85
14 | 6
15 | 6
16 | 12
17 | 15
18 | 62
19 | 69
20 | 7
21 | 7
22 | 6
23 | 7
U | 80
- | 15
case 1: avg(24): 22
case 2: avg(12): 42
case 3: avg(12): 48
Te dane są generowane przez uruchamiany skrypt: sar -P ALL 1 1
Następnie uruchamia polecenie awk. Nie jestem dobry w awk, ale są to wyraźnie ważne części:
Filtr: /System|AIX|^$|%/ {next}
Analizować: {k=0;if(NR==7) k=1} {sub("^-", "all", $1); cpu=$(1+k); user=$(2+k); sys=$(3+k); io=$(4+k); idle=$(5+k)}
Wydaje się to poprawne w oparciu o to, co niewiele rozumiem o awk i co widzę na podstawie przykładów wyników.
Jeśli założę, że brakujące wartości są równe zero dla przypadku 2, średnia wynosi 21, co wydaje się nieco spójne z przypadkiem 1. Jednak jeśli przyjmę takie założenie dla przypadku 3, otrzymam 24%, co jest całkowicie sprzeczne z 85% wartość procentowa podana przez sar dla ogólnego bezczynności procesora.
Oto wykres przechwyceń z całego dnia (co 30 sekund):
Kiedy jest bardzo mało czasu bezczynności dla całego systemu, korelacja między średnim czasem bezczynności procesora a bezczynnością dla całego systemu jest prawie idealna. Jednak wraz ze wzrostem „ogólnosystemowego” czasu bezczynności korelacja staje się znacznie słabsza. Praca nad założeniem, że są to maszyny deterministyczne, mówi mi, że dane, które posiadam, nie dają pełnego obrazu. Ale ile mnie to obchodzi?
Nie do końca rozumiem, dlaczego niektóre procesory nie są zgłaszane w każdym punkcie, ale te, których brakuje, nie są równomiernie rozmieszczone, jak pokazano w powyższych przykładach. Również po przeczytaniu tego podręcznika uważam, że muszą to być logiczne procesory i że bez physc
liczb myślę, że niewiele mogę zrobić z tymi wartościami. Próbowałem użyć tej U
wartości w różnych równaniach, ale nie znalazłem nic sensownego. Nie jest nawet dla mnie jasne, że ogólny procent bezczynności można przyjąć według wartości nominalnej.
UWAGA : Coś jest nie tak z przechwytywaniem tych danych z sar to całkowicie poprawna odpowiedź na nr 1, jeśli tak jest, zawsze powinna ona wrócić.
sar -P ALL 1 1
a następnie używa awk do wybicia numeru procesora, a następnie użytkownika, systemu, oczekiwania IO i procentu bezczynności. Dodam więcej informacji do twojej odpowiedzi.
sar -P ALL
bezpośrednio, a nie dane wyjściowe tego skryptu? To niestandardowy skrypt i nikt nie może ci powiedzieć, co robi, nie widząc go.
sar -P ALL
wyjście.