2012-06-17 11:40:44 +0000 2012-06-17 11:40:44 +0000
64
64

Jak znajdę to, co niszczy całą pamięć mojego systemu? (nie SuperFetch)

Jak zdiagnozować/odkryć problemy związane z pamięcią, jeśli Task Manager wydaje się nie raportować poprawnie?

Muszę mieć przeciek pamięci lub coś w tym stylu - mam 75% zużycia pamięci na poziomie 12 GB, ale Task Managery nie sumują się (tak, “Pokaż procesy od wszystkich użytkowników” jest zaznaczone).

Wygląda na to, że to “fantomowe” zużycie pamięci rośnie w zależności od tego, jak długo system jest używany. Pokazuje to, że w sumie jest 118 procesów. Poza top 5, wszystkie są poniżej 50 MB.

Górny proces to firefox, wykorzystujący 2.6 GB. Adobe Premiere na 900 MB. Plugin-container przy 300 MB. Pale Moon przy 275 MB. Explorer.exe przy 94 MB.

Jak na świecie mogę znaleźć to, co zużywa resztę mojej pamięci? Wygląda na to, że Task Manager nie widzi wszystkiego, co jest używane. Może jest jakiś przeciek pamięci? Albo program nie zwalnia prawidłowo używanej pamięci?

Raporty Resource Monitor (kliknij na większą wersję):

UWAGA:

  1. Ponieważ mój główny dysk operacyjny jest dyskiem SSD, SuperFetch jest wyłączony w moim systemie.
  2. I rozumiem zasadę, że nieużywany taran jest “zmarnowanym” taranem, że tak powiem. Jednak kiedy widzę, że moje zużycie pamięci jest prawie wykorzystane do osiągnięcia szczytowej pojemności, powstrzymuje mnie to przed uruchamianiem/ładowaniem kolejnych programów (z mojej własnej troski), a nawet wysyła mnie do zadania zamknięcia wielu (z niewielkim wpływem na zmniejszenie zużycia pamięci, przynajmniej zauważalnie i w krótkim okresie czasu).
  3. Kiedy pamięć się zapełnia, nienawidzę patrzeć jak plik strony 1GB na moim dysku SSD rozszerza się do ustawionego przeze mnie limitu 6GB, a ja “pocę się” ze świadomością, że mój “biedny” dysk SSD jest prawdopodobnie zmiażdżony do kurzu, ponieważ Windows mocno/raptownie zwraca się w stronę używania go jako pełnowartościowej pamięci. (Czy w takim razie powinienem po prostu przykleić plik strony do statycznego 1GB?)

Odpowiedzi (5)

60
60
60
2012-06-17 12:17:17 +0000

Zazwyczaj możesz uzyskać lepszy wgląd w to, co zużywa twoją pamięć za pomocą takich narzędzi jak RamMap .

-click to enlarge

Często pamięć może być wykorzystana przez zmapowane pliki, które zostały wciągnięte do pamięci RAM w celu zwiększenia wydajności.

Zwróć uwagę na kolumnę Active w RamMapie. To jest właśnie ta pamięć, która jest aktualnie wykorzystywana. Wskaźniki dotyczące free pamięci mogą być często mylące. Obejmuje to narzędzia Windows takie jak Task Manager.

Dalsze informacje


Chciałbym również odnieść się do kilku dodatkowych punktów z Twojego pytania.

However, when I see my memory use nearly used to peak capacity, it’s stopping me from running/loading subsequent programs (from my own concern), and even sends me to task to close many down (with hardly much effect on decreasing memory use, at least noticeably and within short time period).

Your reasoning is perfect fine. Ale jeśli nie masz problemów z powodu niskiego poziomu pamięci, powinieneś powstrzymać się od tej praktyki. System operacyjny powinien zająć się tym zadaniem i wypłukać dane do pliku stronicowego, gdy potrzebna jest pamięć fizyczna.

Możliwe, że używasz również niewłaściwego wskaźnika dla swojej praktyki. Chcesz mieć oko na swoją Ładowanie Commit Charge Process Explorer terminologię).

Ładowanie commit jest sumą całej używanej pamięci. Widać to na zrzucie ekranu, jest też jej limit. Limitem tym jest rozmiar mojej pamięci fizycznej + rozmiar mojego pliku stronicowego. Jeśli ten limit zostałby przekroczony, to byłby to problem.

Co prowadzi nas do następnego tematu.

Kiedy pamięć się zapełni, nienawidzę patrzeć jak plik strony 1GB na moim SSD rozszerza się do ustawionego przeze mnie limitu 6GB, a ja “pocę się” ze świadomością, że mój “biedny” SSD jest prawdopodobnie zmiażdżony do kurzu, ponieważ Windows mocno/raptownie zamienia się w pełnowartościową pamięć. (Czy w takim razie powinienem po prostu przykleić plik strony do statci 1GB?)

W mojej opinii, jest tu kilka złych rzeczy. Ogólnie rzecz biorąc, należy zdecydowanie odradzać ustalanie limitów rozmiaru pliku strony. Mark Russinovich wyjaśnia to w filmach, które połączyłem powyżej (znacznie lepiej niż kiedykolwiek mogłem).

Z tego mogą pochodzić tylko złe rzeczy. Co ma zrobić Windows, gdy musi wypłukać ponad 6GB danych do pliku stronicowego, a Ty ograniczyłeś go do 6GB? To to poważna sprawa.

Niech Windows zajmie się plikiem stronicowym. Jedyną rzeczą, którą zdecydowanie radziłbym ci zrobić, to przenieść plik stronicujący z dala od dysku SSD. Tom Wijsman doskonale wyjaśnia to w swoim wpisie na blogu Maksymalizacja żywotności dysku SSD , który polecam przeczytać.

2
2
2
2018-03-09 11:52:05 +0000

W moim przypadku powodem dużego zużycia pamięci była hiper-wirtualna maszyna, dla której miałem włączone ustawienia Dynamic Memory dla pamięci RAM. RamMap narzędzie pomogło mi zlokalizować główną przyczynę.

Po pierwsze, zauważyłem w RamMapie, że Driver Locked zużył ponad 29GB z 32GB pamięci RAM. Następnie znalazłem artykuł, który wyjaśniał, że wysokie zużycie pamięci Driver Locked może być spowodowane włączoną pamięcią dynamiczną HyperV, a następnie właśnie to potwierdziłem.

0
0
0
2015-02-19 07:39:14 +0000

RAMMap pokazał, że zmapowany plik C:\Windows\SoftwareDistribution\DataStore\DataStore.edb marnował 400 Mb mojej cennej 4 Gb pamięci RAM.

Ponadto Windows Update ciągle spowalniał system w procesie aktualizacji tego ogromnego pliku.

To może być częsty problem dla wielu komputerów z niższej półki.

Zobacz PC Boots następnie zapisuje gigantyczny plik datastore.edb spowalniając komputer dla możliwej rozdzielczości.

0
0
0
2014-05-04 05:05:49 +0000

Możesz wypróbować Sysinternal RAMMAP, ale pokazuje on wykorzystanie pamięci w inny sposób niż Task Manager & Resource Manager i dlatego nie jest zbyt pomocny.

Task Manager & Resource Monitor nie pokazuje pamięci podręcznej i jej rozmiaru. Jest to część pamięci “In use” (patrz Resource Monitor). Pamięć podręczna plików może urosnąć do BARDZO dużego rozmiaru, szczególnie gdy komputer jest uruchomiony przez wiele godzin. Całkowite zużycie pamięci programu wzrasta w miarę upływu czasu, w wyniku rosnącego rozmiaru pamięci podręcznej plików i wycieków z pamięci. Niektóre programy mają po prostu kiepskie zarządzanie pamięcią.

Jednym ze sposobów na zminimalizowanie zużycia pamięci jest zmniejszenie ilości procesów. (Dlaczego uruchamianych jest 118 procesów? Dlaczego Explorer.exe jest uruchomiony w wielu przypadkach ?)

Istnieje program, który pomaga w regularnym zmniejszaniu zużycia pamięci i regularnym zawijaniu pamięci podręcznej plików. (PcWinTech’s CLEANMEM). Zmniejszenie zużycia pamięci w ten sposób zmniejsza lub nawet eliminuje potrzebę zapisu danych z pamięci w pliku swapfile (na dysku SSD) przez system Windows. W ten sposób zwiększa się żywotność dysku SSD. Zmniejszenie zużycia pamięci umożliwia również zwiększenie ilości pamięci “Standby”, pozwalając systemowi Windows na wstępne załadowanie większej ilości plików do pamięci Standby, co przyspiesza działanie systemu.

0
0
0
2012-06-17 13:15:52 +0000

Jeśli zobaczysz, że migawka nie pokazuje całego procesu, a sam pokazany proces pobiera 5,8 GB pamięci. z pokazanej migawki pokazuje, że jest wiele niepotrzebnych programów w tle są uruchomione. Używając msconfig usuń niepotrzebne programy startowe, a także powiększ swoją pamięć wirtualną (1,5 razy większą niż pamięć fizyczna).