Jak wyłączyć kompresję pamięci systemu Windows 10?

38

moje poprzednie błędne założenie: wyczerpuje baterię notebooka i nie brakuje mi pamięci RAM. W Menedżerze zadań widzisz, że ntoskrnl.exe zużywa więcej czasu procesora niż jakikolwiek inny proces. ta funkcja nie wydaje się być opcjonalna i pojawiła się 2 dni temu wraz z pierwszą aktualizacją Win10 (w moim przypadku Win10Pro).

Edytować:

Chcę to wyłączyć, a przynajmniej wykluczyć jako winowajcę moich (niesprawdzonych) założeń. Proces ten nigdy nie zwrócił mojej uwagi w ciągu ostatnich 2 miesięcy, a długie imię menedżera zadań nazywa się „pamięcią systemową i pamięcią skompresowaną”.

Falco Alexander
źródło
Czy jesteś pewien, że to jest problem? Jeśli nie brakuje pamięci RAM, kompresja nie zostanie użyta. I jest osobny proces pokazujący kompresję, jeśli jest używana.
Sami Kuhmonen
Nazywa się tak w menedżerze zadań. A możliwość wyłączenia kompresji pomogłaby przybić gwoździe
Falco Alexander
1
Kompresja pamięci była w systemie Windows 10 od samego początku. Jeśli masz problemy z baterią od tego tygodnia, to nie z powodu tej funkcji. Jądro robi znacznie więcej niż tylko kompresję pamięci. Sprawia, że ​​wszystkie aplikacje działają w twoim systemie.
ZippyV
1
Co sprawia, że ​​uważasz, że problemem jest kompresja pamięci? Czy korzystałeś ze szczegółowego analizatora procesów? Jeśli nie, powinieneś. Jak mówi @ZippyV, ntoskrnl.exeobsługuje wszystkie podstawowe funkcje i jest ich wiele, więc nie widzę powodu, aby uznawać kompresję pamięci za winowajcę.
AFH
1
to nie jest nowa funkcja aktualizacji. Ta funkcja jest już częścią pierwszego wydania, patrz duplikat.
magicandre1981

Odpowiedzi:

23

Jest to dobra funkcja, aby uniknąć stronicowania (zapisywanie danych do pliku pagefile.sys na dysku twardym) .

Jeśli chcesz przetestować system Windows 10 bez kompresji pamięci, uruchom program PowerShell jako administrator

wprowadź opis zdjęcia tutaj

i uruchom polecenie Disable-MMAgent -mci uruchom ponownie. To wyłącza kompresję. Aby włączyć go później, uruchom ponownie program PowerShell jako administrator i uruchom Enable-MMAgent -mcpolecenie.

magicandre1981
źródło
1
Dzięki za odpowiedź. Odnośnie „dobrej funkcji pozwalającej uniknąć stronicowania”. Twierdziłbym, że to zależy. Tworzyłem oprogramowanie z dużym IDE na procesorze ULV z przyzwoitą ilością pamięci RAM i szybkim dyskiem SSD. Ignorując wyjątki „brak pamięci”, które otrzymywałem przy WŁĄCZONEJ funkcji, nadal wolę okazjonalne We / Wy pliku strony niż obciążenie procesora.
Kevin,
2
@Kevin no, stronicowanie i IO są droższe pod względem czasu reakcji systemu operacyjnego
magicandre1981
2
@ magicandre1981 Niekoniecznie tak jest. Mam 16 GB pamięci RAM, a kompresja pamięci zwykle wykorzystuje 3 GB i do 5 GB. Pojawiają się wyskakujące okna z informacją, że brakuje mi pamięci, i sugeruję, że zabiję jakąś aplikację. Nie ma wątpliwości, że lepiej byłoby bez kompresji pamięci, wolniej stronicując, ale utrzymując działanie aplikacji.
user184411,
1
Dodam, że możesz użyć Get-MMAgent przed tym poleceniem, aby potwierdzić między innymi bieżący stan kompresji pamięci.
Souhaieb Besbes
1
Czy działa to tylko w niektórych wersjach Win10? Nie mogę uzyskać polecenia wyłączania do pracy z -mc ani -memorycompression
TombMedia
8

Możesz sprawdzić pełną odpowiedź na stronie Co jest przyczyną wysokiego zużycia procesora przez „pamięć systemową i skompresowaną” w systemie Windows 10? . Ale w krótkiej wersji:

Poszłam do:

Start-> Panel sterowania-> Narzędzia administracyjne-> Harmonogram zadań-> Harmonogram zadań

Biblioteka-> Microsoft-> ​​Windows-> MemoryDiagnostic

Istnieją dwa elementy zamówienia. Uruchomienie zadania może zależeć od zdarzeń dziennika. Nie jestem pewien, czy po prostu muszą istnieć, czy uruchamiają się po wejściu do dziennika. W każdym razie wyłączyłem wpis oznaczony jako RunFullMemoryDiagnosticEntry. To rozwiązało mój przypadek problemu.

Jeśli to nie rozwiąże problemu, instrukcje wcześniej zawarte w odpowiedzi sugerują skorzystanie z narzędzia Windows Performance Analyzer, aby pomóc znaleźć rozwiązanie.

Raymond Burkholder
źródło
2
Brzmiało to logicznie, więc spróbowałem. Ale problem powrócił. : /
arod
Czy można skonfigurować system Windows 10 tak, aby korzystał z pliku strony częściej niż to, co już robi domyślnie, i rzadziej korzysta z kompresji? Z tego, co widziałem online, wygląda na to, że wszelkie próby całkowitego wyłączenia nowego schematu zarządzania pamięcią przynoszą niewiele rezultatów. Jestem sportowcem i APU AMD E-Series z 4 GB pamięci RAM i nie ma możliwości rozszerzenia pamięci. Laptopy bolą.
TopHatProductions115
Czy mogę tylko potwierdzić, że to zdecydowanie i definitywnie wyłącza kompresję pamięci? Przełączyłem to kilka dni temu, ale ostatniej nocy (kolejne zawieszenie) zauważyłem wykorzystanie raportów procexp podczas jednego z moich coraz częstszych zawieszeń
fostandy
Odpowiedź nie jest łatwa. Jedno ustawienie nie rozwiązuje problemu wszystkich. Każdy system jest inny i ma różne problemy. I zainstalowane są różne rzeczy. Ale ... w linku, który zaoferowałem, pokazuję, w jaki sposób dowiedziałem się, jaki był mój konkretny problem. Ten zestaw narzędzi jest na tyle ogólny, że może pomóc w znalezieniu problemu z rootem oraz w specjalistycznym rozwiązaniu dla konkretnego środowiska. Lub ... ośmielę się to powiedzieć ... znajdź kogoś, kto może uruchomić dla ciebie narzędzia, przeczytać liście herbaty i coś wymyślić. :-)
Raymond Burkholder