Nieprawidłowe wykorzystanie procesu z rozszerzonych zdarzeń dotyczących kondycji systemu

10

Ostatnio pracuję nad zrozumieniem danych lub metryk przechowywanych w pliku zdarzeń zdarzeń rozszerzonych dotyczących kondycji systemu.

Staramy się zaimplementować gromadzenie danych wskaźników wydajności przy użyciu kondycji systemu, jak tutaj podano

Istnieją raporty, które podają takie dane, jak UŻYTKOWANIE PROCESORA, inne wykorzystanie procesów itp., Które są zbierane z nazwanych zdarzeń kondycji systemu

scheduler_monitor_system_health_ring_buffer_recorded

Nie jestem w stanie zrozumieć dla niektórych moich zajętych serwerów, dlaczego pole „proces_utilization”, które jest wymienione w raporcie jako wykorzystanie procesora SQL, jest w większości przypadków powyżej 100. W szczycie jest ono w zakresie 120-160 i z powodu którego raport jest zawsze pokazuje procesor powyżej 100, nawet jeśli sprawdziłem z monitora aktywności serwerów, co nigdy nie jest prawdą.

Podniosłem ten problem w Github, ale wydaje się, że nie ma poprawki ani odpowiedzi.

Dlatego moje pytanie byłoby

  1. Jak mogę uzyskać dokładną liczbę wykorzystania procesora SQL dla moich serwerów za pomocą zarejestrowanego bufora pierścienia kondycji systemu?

  2. Raport pokazuje również licznik dla mniej niż 2 pól obliczonych na podstawie ich raportu

  1. 100-System_idle-process_utilization as OtherProcessUtil

  2. 100-system_idle jako SystemUtil

Co to są OtherProcessUtil i SystemUtil potrzebne są / potrzebne / pomocne?

  1. Za każdym razem widzę wykorzystanie pamięci jako 100. Nie wydaje się to również poprawne. Czy ktoś to zauważył?

Inne narzędzia, takie jak Idera i sentry [które przetestowałem], nie pokazują użycia procesora powyżej 100% dla tych samych serwerów. Zrobiłem porównanie obok siebie dla tego samego obciążenia.

PoczątkującyDBA
źródło

Odpowiedzi:

1

Wartości dla liczników% dysków i procesorów, które przekraczają 100% Należy podzielić przez liczbę procesorów lub dysków obecnych w systemie. Tak więc 100% oznacza, że ​​używa 100% jednego procesora. 250% oznaczałoby, że używa dwóch i pół procesorów. Jeśli więc zgłasza 120%, sprawdź, czy jest to odpowiednik 120 / <liczba procesorów>.

Zauważ, że ostatnia zmiana w tigertools miała miejsce w czerwcu 2018 r. Możesz sprawdzić sqlwatch.io, ponieważ wydaje się, że jest to o wiele bardziej aktywny projekt.

Zobacz social.msdn.microsoft.com/Forums/sqlserver/en-US/… i po prostu zmień go na TOP (1), aby uzyskać bieżące użycie procesora SQL.

- Tony Hinkle

mv ٠〳comment ٠〳answer
źródło