Windows 7 Hard fault / Page fault and wąskie gardło pamięci

0

Resmon Windows 7 wyświetla 0 twardych błędów. Ale perfmon pokazuje błąd strony około 60, a perfmon / report mówi mi, że mój system aktywnie zamienia.

AFAIK nie każda wina strony jest poważnym błędem: strona może być przechowywana w pamięci podręcznej, czyli w pamięci „gotowości”, prawda?

Więc naprawdę nie mam wąskiego gardła w pamięci, ale perfmon po prostu nie wie o zarządzaniu pamięcią w systemie Windows 7 (gdzie pagefault! = Hardfault)? Jeśli tak, to jak mogę śledzić użycie wymiany na moim komputerze? (w perfmon nie ma licznika „hardfault”)?


Zauważyłem, że powinienem używać „Pages Input” i „Pages Output”, aby uzyskać liczbę stron odczytanych / zapisanych na dysk oraz „Page Read” / „Page Write”, aby uzyskać liczbę żądań odczytu / zapisu.

Ale nadal nie mogę zrozumieć, dlaczego „permon / report” mówi mi, że muszę zainstalować więcej pamięci, jeśli „Pages Input / Output” ma wartość zero.

studiohack
źródło
1
Mówi ci, że musisz zainstalować więcej pamięci, ponieważ wskaźnik trafień w pamięci podręcznej jest niski, co sugeruje, że zestaw roboczy systemu przekracza pamięć fizyczną. Stronicowanie nastąpi tylko wtedy, gdy system nie będzie w stanie zmniejszyć pamięci podręcznej, ale wydajność spadnie, nawet jeśli tak jest.
David Schwartz
@David: Nie jestem pewien, jak dojść do tego wniosku na podstawie miękkich błędów. Sytuacja, którą opisujesz, może spowodować poważne usterki.
Ben Voigt
@BenVoigt: Nie, jeśli problem polega na tym, że pamięć podręczna jest zbyt mała, a nie, że zmapowane strony nie są rezydentne. Rozważmy na przykład serwer WWW. Liczba zmapowanych stron jest bardzo mała, ale potrzeba pamięci podręcznej dysku jest bardzo duża. Jeśli pamięć fizyczna nie może przechowywać zestawu często używanych małych plików, wydajność spadnie, ale nie z powodu błędów strony.
David Schwartz
@ David: Jeśli serwer WWW używa mapowania pamięci do odczytu plików, wystąpią błędy strony. W przeciwnym razie będziesz mieć normalne dyskowe operacje we / wy. Żaden z nich nie spowodowałby miękkich błędów, AFAIK.
Ben Voigt
@BenVoigt: Nie wiem, czy się ze mną nie zgadzasz, czy nie. Wygląda na to, że się zgadzamy. Mógł mieć normalne operacje We / Wy dysku spowodowane niewystarczającą pamięcią fizyczną prowadzącą do niskiej wydajności. Brak poważnych błędów strony nie oznacza, że ​​niewystarczająca pamięć fizyczna nie stanowi problemu. (Nie próbuję wyjaśniać błędów miękkiej strony, próbuję wyjaśnić jego problem.)
David Schwartz,

Odpowiedzi:

1

Błędy miękkie występują, gdy pozycja tablicy stron nie znajduje się w tabeli stron , ale strona znajduje się w pamięci RAM. Myślę, że rozmiar TLB jest ustalony dla konkretnego procesora, więc użytkownik końcowy niewiele może zrobić w przypadku miękkich błędów. (Programista może zoptymalizować swój kod, aby uzyskać lepszą lokalizację, co zmniejsza liczbę braków TLB i błędów miękkich).

Ben Voigt
źródło
Nie jestem pewien, co to ma wspólnego z jego problemem. Jego problemem jest niska wydajność i wysokie dyskowe operacje we / wy. To może być dobry komentarz, ale to nie jest odpowiedź. (Chyba że uważasz, że miękkie wady mają coś wspólnego z jego rzeczywistym problemem. Nie mówisz i nie dostarczasz żadnych dowodów.)
David Schwartz
@ David: Rozumiem pytanie inaczej. Zgłasza wiele błędów miękkich stron i pyta, czy to oznacza, że ​​ma problem z wydajnością.
Ben Voigt
Wtedy odpowiedzią byłoby proste „nie”. (Przynajmniej, chyba że jest to absurdalnie wysoka liczba.) Ale rozumiem pytanie, chce wiedzieć, dlaczego powiedziano mu, że musi zainstalować więcej pamięci fizycznej.
David Schwartz