Co monitor wydajności mówi mi, gdy błędy na stronie / sekunda są wysokie?

18

Mam 64-bitowy komputer z systemem Windows 7, który ma problemy z wydajnością. Po pewnym dochodzeniu odkryłem, że błędy stron na sekundę na nim - jak donosi Performance Monitor - są naprawdę wysokie.

Wszystko inne wydaje się być normalne. Monitor zasobów nie zgłasza żadnych poważnych usterek i dużo dostępnej pamięci.

Czy to potencjalna przyczyna problemów, czy może jest to czerwony śledź? Jeśli jest to coś, co może powodować problemy, co powinienem zrobić, aby dowiedzieć się, co go powoduje?

Oto zrzut ekranu Monitora wydajności. Zauważ, że średnia liczba błędów stron na sekundę wynosi 75 887. Na innym komputerze, który nie ma problemów, liczba ta jest zbliżona do 3000.

Monitor wydajności - błędy stron / sekunda = 75 000!

Oto zrzut ekranu Monitora zasobów, posortowany według twardych błędów / sekundę, który obecnie wynosi 0 dla wszystkich procesów.

Monitor zasobów - Hard Faults / Second = 0

David Robison
źródło
Twoja skala jest bardzo niska przy 0,001 BTW
Jeff F.
1
Podstawy błędów stronicowania
Moab
1
Uwaga o błędach strony, może to być źle zakodowany program powodujący ten lub wadliwy moduł pamięci ... blogs.msdn.com/b/greggm/archive/2004/01/21/61237.aspx
Moab
3
W końcu znalazłem źródło wszystkich tych błędów strony: usługę wyszukiwania systemu Windows. Wyłączono to, całkowity błąd strony spadł do 3000 / sekundę i wszystko działa świetnie.
David Robison
Martw się o PF TYLKO, jeśli są twarde PF. techcommunity.microsoft.com/t5/Ask-The-Performance-Team/…
Ultralisk

Odpowiedzi:

12

W Eksploratorze procesów dostępna jest kolumna umożliwiająca sprawdzenie liczby generowanych błędów stron. W
ten sposób można zidentyfikować program powodujący problem i rozwiązać bardziej szczegółowe problemy.

wprowadź opis zdjęcia tutaj


Monitor wydajności: średnie błędy strony / sekundę :

Ten licznik daje ogólny obraz tego, ile razy żądana informacja nie znajduje się tam, gdzie oczekuje tego aplikacja (i VMM) . Informacje należy pobrać z innej lokalizacji w pamięci lub z pliku strony. Przypomnij sobie, że chociaż trwała wartość może wskazywać na problemy, powinieneś bardziej przejmować się poważnymi błędami strony, które reprezentują rzeczywiste odczyty lub zapisy na dysku . Pamiętaj, że dostęp do dysku jest znacznie wolniejszy niż pamięć RAM.

http://technet.microsoft.com/en-us/library/cc768048.aspx

Tamara Wijsman
źródło
Próbowałem tego, ale PF Delta wynosi w zasadzie 0 dla wszystkich procesów (wszystkie mają <100). Wydaje się, że istnieje pewna różnica między awariami strony w Monitorze wydajności a awariami twardymi, zgłaszanymi przez Monitor zasobów lub Process Explorer.
David Robison
@DavidRobison: Zaktualizowałem mój post z cytatem na końcu, część pogrubiona powinna odpowiedzieć na twoje pytanie, przypuszczam, że jest to zatem normalne zachowanie.
Tamara Wijsman,
Ten link pomaga, choć teraz mam inne pytanie: jak dowiedzieć się, jaki proces powoduje błędy strony miękkiej? serverfault.com/questions/230669
David Robison
@DavidRobison: Prywatna kolumna Delta Bytes może pomóc, jeszcze nie mam pojęcia ...
Tamara Wijsman
3

Usterka strony występuje, gdy menedżer pamięci stwierdzi, że potrzebny jej blok pamięci nie znajduje się w pamięci RAM. Ta pamięć została zamieniona na dysk, a system zwalnia, ponieważ pobranie jej z tego miejsca zajmuje więcej czasu. Dodaj więcej pamięci do systemu, aby zmniejszyć liczbę błędów stron i poprawić wydajność.

Ron
źródło
Z drugiej strony, jeśli właśnie uruchomiłeś aplikację, spodziewaj się wielu błędów strony podczas ładowania. To może być to, co widziałeś, ponieważ wydaje się, że masz wystarczająco dużo wolnej pamięci.
Ron
1
Istnieją pamięci podręczne w różnych miejscach (procesor, płyta główna, kontroler dysku). Czy wolna maszyna ma mniejszą pamięć podręczną procesora?
Ron
Nie można dokładnie zwiększyć pamięci podręcznej procesora. Dodanie większej ilości pamięci tego nie naprawi. (o którym wspomniałeś w swoim ostatnim komentarzu)
Adam
2

„Błędy strony / sekunda” obejmują zarówno błędy miękkie (strony, które mogą być obsługiwane z / do pamięci RAM), jak i błędy twarde (strony, które muszą być obsługiwane z / na dysk). Tak więc wysoka wartość „Błąd strony / sekunda” niekoniecznie oznacza problem. Przykłady błędów stron miękkich obejmują przewracanie stron na liście przejścia (składa się z listy rezerwowej i listy zmodyfikowanej; zawierają one tymczasowo nieużywane strony pamięci, które są kandydatami do stronicowania na dysk (lub odrzucane, jeśli nie są modyfikowane), ale nadal znajdują się w pamięci RAM) na aktywne strony i przekształcanie aktywnych stron w listę przejścia. W systemie Windows 10 może się to również zdarzyć, gdy skompresowane strony zostaną przekształcone w strony aktywne (ponieważ system Windows 10 ma kompresję pamięci).

Aby zobaczyć poważne usterki, możesz użyć liczników Strony / sekundę, Strony wejściowe / sekundę lub Strony wyjściowe / sekundę.

fan Robbiego
źródło
1

Oto tabela z książki Windows Wewnętrzne o tym, co jest wina strony. (Wykluczyłem te, które powodują naruszenie praw dostępu):

  • Przyczyna błędu - wynik
  • Dostęp do strony, która nie jest rezydentem w pamięci, ale znajduje się na dysku w pliku strony lub pliku odwzorowanym - Przydziel stronę fizyczną i odczytaj żądaną stronę z dysku do odpowiedniego zestawu roboczego
  • Dostęp do strony znajdującej się na liście rezerwowej lub zmodyfikowanej - Przenieś stronę do odpowiedniego procesu, sesji lub zestawu roboczego systemu
  • Dostęp do strony zerowej na żądanie - Dodaj stronę wypełnioną zerami do odpowiedniego zestawu roboczego
  • Zapisywanie na stronie kopiowania przy zapisie - Utwórz kopię strony w trybie prywatnym (lub sesyjną) i zamień oryginał w procesie lub zestawie roboczym systemu.

Możesz odnieść się do pytania, aby uzyskać więcej informacji na temat błędów powodujących strony

jest tyle powodów do zrobienia page fault.

huoxudong125
źródło