Wysokie użycie pamięci w systemie Windows 10 (nieznany powód)

78

Kilka dni temu zaktualizowałem komputer do systemu Windows 10. Jednak po pewnym czasie użytkowania mój komputer zaczął zwalniać, aż nie można go było użyć - było to spowodowane dużym zużyciem pamięci. Po ponownym uruchomieniu wszystko wróciło do normy (całkowite zużycie około 25% z 8 GB pamięci RAM). Jednak podczas kilku godzin użytkowania pamięć odbudowuje się ponownie do 70%, a jeśli nie zostanie ponownie uruchomiona, dalej przechodzi do 100%, a później nawet się zawiesza. Menedżer zadań nie pomaga bardzo, ponieważ nie pokazuje wszystkich procesów (dodano zrzuty ekranu poniżej). Próbowałem też RAMMap, ale wyświetla błąd: „błąd odświeżania bazy danych”. Próbowałem googlować to pytanie, ale bez większego powodzenia.

Nie wiem dużo o komputerach PC, ale może niektórzy z was znają ten problem lub mogą pomóc dowiedzieć się, co korzysta z mojej pamięci RAM.

Wykorzystanie pamięci RAM 1

Wykorzystanie pamięci RAM 2

Lukas
źródło
@AR zapewnia ślad xperf. Muszę spojrzeć na stosy połączeń, aby zobaczyć więcej.
magicandre1981,
Wiem, że ten wątek został rozwiązany - ale dobrym pierwszym krokiem jest wyłączenie funkcji hyper-v. to był winowajca w moim przypadku.
hipermail
Co działało Hyper-V?
rogerdpack

Odpowiedzi:

117

Masz wyciek pamięci spowodowany przez sterownik. Spójrz na wysoką wartość niestronicowanej pamięci jądra. W twoim przypadku jest to ponad 3,7 GB. Możesz użyć poolmon, aby zobaczyć, który sterownik powoduje duże użycie.

Zainstaluj Windows WDK , uruchom poolmon, posortuj go Pwedług typu puli po, tak aby nie stronicowany był na wierzchu i Bbajtów po, aby zobaczyć znacznik, który zajmuje najwięcej pamięci. Uruchom poolmon, przechodząc do folderu, w którym zainstalowano WDK, przejdź do Narzędzia (lub C:\Program Files (x86)\Windows Kits\10\Tools\x64) i kliknij poolmon.exe.

Teraz spójrz, który pooltag zużywa najwięcej pamięci, jak pokazano tutaj:

wprowadź opis zdjęcia tutaj

Teraz otwórz wiersz polecenia i uruchom polecenie findstr. Aby to zrobić, otwórz wiersz polecenia cmd i wpisz cd C:\Windows\System32\drivers. Następnie wpisz findstr /s __ *.*, gdzie __ jest znacznikiem (nazwa najbardziej lewa w poolmon). Zrób to, aby zobaczyć, który sterownik używa tego znacznika:

wprowadź opis zdjęcia tutaj

Teraz przejdź do folderu sterowników ( C:\Windows\System32\drivers) i kliknij prawym przyciskiem myszy dany sterownik (intmsd.sys w powyższym przykładzie obrazu). Kliknij Właściwości, przejdź do zakładki szczegółów, aby znaleźć nazwę produktu. Poszukaj aktualizacji dla tego produktu.

Jeśli pooltag pokazuje tylko sterowniki Windows lub jest wymieniony w pooltag.txt ( "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\triage\pooltag.txt")

używasz xperf do śledzenia, co powoduje użycie . Zainstaluj WPT z zestawu Windows SDK , otwórz cmd.exe jako administrator i uruchom to:

xperf -on PROC_THREAD + ŁADOWARKA + BASEN -stackwalk PoolAlloc + PoolFree + PoolAllocSession + PoolFreeSession -BufferSize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C: \ pool.etl

uchwycić 30 -60 wzrostu. Otwórz ETL za pomocą WPA.exe, dodaj wykresy puli do okienka analizy.

Umieść kolumnę pooltag na pierwszym miejscu i dodaj kolumnę stosu. Teraz załaduj symbole do WPA.exe i rozwiń stos znacznika, który widziałeś w poolmon.

wprowadź opis zdjęcia tutaj

Teraz znajdź inne sterowniki innych firm, które możesz zobaczyć na stosie. Tutaj Threznacznik (Wątek) jest używany przez AVKCl.exe z G-Data. Poszukaj aktualizacji sterownika / programu, aby to naprawić.


Użytkownik Hristo Hristov podał ślad o dużym FMfnużyciu podczas rozpakowywania plików:

wprowadź opis zdjęcia tutaj

Znacznik jest używany przez sterownik, WiseFs64.sysktóry jest częścią programu „Wise Folder Hider”. Usunięcie go naprawia wyciek.


Użytkownik Samuil Dichev dostarczył ślad o wysokiej wydajności FMici Irpużyciu

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Tagi są używane przez program Razor Cortex .

W próbce użytkownika chr0n0ssFMic i Irpwykorzystanie jest spowodowane przez F-Secure Antivirus Suite:

wprowadź opis zdjęcia tutaj

Usunięcie go i użycie Windows Defender naprawiło dla niego problem.


magicandre1981
źródło
4
Wow, wielkie dzięki za tak szybką odpowiedź na pytanie, że myślałem, że nigdy go nie znajdę :) Wygląda na to, że przyczyną problemu były sterowniki sieciowe i po aktualizacji użycie pamięci wydaje się OK. Dzięki jeszcze raz! :)
Lukas
1
To przypomina mi post na blogu Marka Russinowicza.
niedz.
1
Myślę, że podany przez ciebie link do pobrania WDK jest przeznaczony dla Win 8. Wersja dla Win 10 jest tutaj: msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx
Travis Bemrose
1
Polecenie findstr nie robi nic, co mogłoby pomóc mi wrócić pasteboard.co/2HmQZYbN.png
Loenix
1
NDbf Był wysoki, potem stwierdziłem, że to sumsungrapiddskfltr czy coś, wyłączyłem go, teraz działa dobrze.
Suraj Jain,
26

ten facet może mieć kartę sieciową marki Killer Networking (wcześniej Bigfoot Network).

Oszalałem, próbując dowiedzieć się, dlaczego miałem ogromny wyciek pamięci, a nawet zrobiłem całkowicie czystą instalację i natychmiast po instalacji miałem wyciek pamięci. Oczywiście zainstalowałem sterowniki sieciowe i sterowniki karty graficznej, ale to było to.

Przeszukałem Google ... Znalazłem ten wątek, mówiąc, że to był jego sterownik sieci, a potem przejrzał „wyciek pamięci zabójcy” i zobaczyłem trafienia, i okazało się, że była to sama aplikacja zabójcy, a nie tylko w Windows 10.

Teraz jestem złoty ... Więc jeśli ktoś ma ten problem i ma jedną z wielu kart do gier lub laptopów z zabójczą kartą sieciową, prawdopodobnie po prostu możesz wyłączyć aplikację zabójcy. Ale to, co zrobiłem, to całkowicie odinstalowałem dostarczony sterownik ASROCK, a następnie zainstalowałem najnowszy pakiet tylko dla sterowników z oficjalnej strony sieci Killer. Jest to mniejszy ~ 30 MB do pobrania. Jeśli pobieranie jest bliższe lub większe niż 100 MB, oznacza to, że nie masz.

Stracisz wszystko, co wyróżnia zabójcę (to oprogramowanie QoS), ale przede wszystkim po to jest dobry router ... Zwłaszcza, że ​​aplikacja zabójca obsługuje tylko QoS aplikacji działających na twoim komputerze i nie robi nic dla twoja sieć jako całość.

użytkownik193631
źródło
1
Lepiej byłoby potwierdzić. Po potwierdzeniu prześlij odpowiedź. Nawet jeśli to zrobiłeś, ta odpowiedź nie wyjaśnia, jak rozwiązać problem.
Ramhound,
2
dziękuję bardzo za odpowiedź. oszczędzało mi to dużo czasu. Miałem ten sam problem. Po przeczytaniu twojej odpowiedzi właśnie odinstalowałem aplikację Killer, a następnie zainstalowałem tylko sterowniki sieciowe. Teraz moje Windows 10 działa idealnie.
Buju,
1
Uratowałeś mnie, dzięki! Odinstalowałem cały pakiet Killer i zainstalowałem tylko sterowniki. Teraz podczas uruchamiania moje użycie pamięci RAM wynosi 25% (2 GB) w porównaniu z 50% ~ 60% wcześniej.
nikoskip
Dziękuję bardzo !!!
srchulo,
1

Odpowiedź zaakceptowana przez magicandre1981 jest poprawną odpowiedzią na ten problem, jeśli użycie pamięci RAM będzie nadal rosło do 100%, najprawdopodobniej nastąpi wyciek pamięci.

Jeśli jednak przejdziesz na tę stronę, ponieważ użycie pamięci w systemie Windows 10 jest wysokie, ale pozostaje stałe (jak w zakresie 60% -90%), prawdopodobnie nie masz problemu. Windows 10 używa pamięci RAM bardziej efektywnie niż poprzednie wersje. Jest tak, ponieważ nieużywana pamięć RAM jest zmarnowaną pamięcią RAM .

Nowoczesne systemy operacyjne od dawna zamieniają rzadko używane dane z pamięci na plik stronicowania na dysku twardym w celu zwolnienia pamięci RAM na potrzeby częściej potrzebnych danych. (Mój system Win 10 ma 8 GB pamięci RAM i plik stron o pojemności 12 GB.) Powolne jest jednak odzyskiwanie tych danych z dysku, a system Windows 10 kompresuje rzadko dostęp do pamięci i przechowuje ją w procesie systemowym (w pamięci RAM). Szybciej jest rozpakować te dane niż odzyskać je z dysku twardego (nawet dysku SSD). Tylko dlatego, że pamięć RAM jest w większości zapełniona, nie oznacza to, że nie będziesz w stanie uruchomić więcej rzeczy, jeśli potrzeba więcej pamięci RAM, Win 10 przeniesie część tej skompresowanej pamięci do pliku stronicowania, aby zwolnić pamięć RAM dla nowych aplikacji.

Jeśli ciągle odkrywasz, że proces systemowy używa więcej niż 1 GB pamięci RAM (tak jak ja), prawdopodobnie masz zbyt wiele otwartych kart przeglądarki (tak jak ja). Rozszerzenie takie jak OneTab może pomóc.

Travis Bemrose
źródło
nie, pamięć podręczna jest wyświetlana jako Zadanie / Pamięć podręczna w Taskmgr. Kompresja Win10 Taskmgr pokazuje użycie zestawu roboczego w procesie SYSTEM. Wyjaśniłem to już tutaj: superuser.com/a/952142/174557
magicandre1981
@ magicandre1981 Do czego mówisz „nie”? Nie widzę niezgody.
Travis Bemrose,
1
Przekonałem się, że Windows 10 nadal dąży do utrzymania zużycia pamięci poniżej 60%, a poza tym zaczyna się strona. Mamy powiadomienia na ponad 1000 urządzeniach, gdy zużycie pamięci przekroczy 80%, a komputery naprawdę zaczynają zwalniać. Windows 10 może lepiej nim zarządzać, ale lepiej jest też zachować dużą część pamięci wolną, gotową do użycia w razie potrzeby innych procesów, w przeciwnym razie musiałby zapisać z powrotem na dysk przed zwolnieniem wolnej pamięci.
user2924019,