Dlaczego dwm.exe używa tak dużo pamięci?

25

Przeszukałem Internet, ale mam dość czytania „przeskanuj swój komputer w poszukiwaniu wirusów” i „uaktualnij swoją pamięć RAM” w odpowiedziach na podobne pytania. Rozumiem, że dwm.exe służy do (po prostu) buforowania bitmap dla takich rzeczy, jak Aero-peek i podobne, ale o ile przeczytałem, nie powinno używać dużej ilości pamięci.

Mój kolega i ja mamy 4 GB pamięci RAM, Core 2 Duo, bla, bla - w zasadzie są całkiem zdolni. Jego dwm.exe działa na około 30 MB, mój obecnie działa na około pół gigra, choć sporo się zmienia. To samo dzieje się podczas uruchamiania dokładnie tych samych aplikacji (obecnie Zend studio, FireFox (z firemin - niskie zużycie pamięci), Outlook). Co jakiś czas dostaję powiadomienie z pytaniem, czy chcę przejść na Aero Basic, ponieważ zużywa zbyt dużo pamięci, a czasami po prostu przełącza się na podstawowy i informuje mnie, dlaczego.

Wiem, że można przestać się przełączać, ale chcę wiedzieć, dlaczego zużywa zbyt dużo pamięci, w przeciwnym razie po prostu pęka.

Jedną rzeczą do dodania jest to, że zaczęło się to po napadzie w poniedziałek, w którym dwa moje monitory zostały skradzione i musiałem tymczasowo użyć kilku alternatywnych monitorów. Używam teraz zupełnie nowych monitorów, ale problem jest taki sam. Wszystkie sterowniki zainstalowane i działają pozornie dobrze.

Wszelkie pomysły, dlaczego użycie jest tak wysokie?

Korzystamy z systemu Windows 7 64-bit Professional.

Leonard Challis
źródło
Czy możesz uzyskać jakieś wskazówki od Proccess Monitor?
jmreicha
Jakie informacje uważasz za wskazówkę w Process Monitor? Przepraszam, nie korzystałem z tego zbyt często.
Leonard Challis,
1
Możesz dokładniej zbadać procesy i zobaczyć, co, jeśli jakiś inny proces z którym rozmawia.
jmreicha
dwm.exe tak naprawdę nie pojawia się w procmon ...?
Leonard Challis
Tak, ProcMon może być trochę owłosiony. Co powiesz na narzędzie sysinternals Process Explorer? Czy możesz znaleźć jakieś wskazówki?
jmreicha

Odpowiedzi:

24

DWM.EXEProces zużywa dużo pamięci, gdy masz wiele ekranów i wydajność systemu jest ustawione na domyślne z Let systemu Windows wybrać to, co najlepsze dla mojego komputera . Aby to zmienić:

  1. Przejdź do Komputer -> Kliknij prawym przyciskiem myszy i wybierz Właściwości
  2. Wybierz zakładkę Zaawansowane
  3. Wybierz przycisk Ustawienia w sekcji Wydajność . Spowoduje to wyświetlenie okna Opcje wydajności
  4. Na pierwszej karcie znajdują się Efekty wizualne . Wybierz Adjust for best performancelub Custom(i wybierz żądane funkcje).

Wybrałem Customsiebie i wybrałem tylko Smooth edges of fontszmniejszenie zużycia pamięci z 534M do 6M przy uruchomionych 4 oknach.

karma dla zwierząt
źródło
2
Cóż, jeśli nie włączysz DWM, to oczywiście nie wykorzysta żadnej pamięci;)
Joey
1
To nie jest cała odpowiedź. Mam najlepszy wygląd ustawiony w ustawieniach, a dwm.exe zwykle zajmuje 80-100 MB pamięci, ale ostatnio zaczął sporadycznie zwiększać do 1300 MB pamięci RAM. Jeśli zakończę proces, uruchamia się on automatycznie z normalnym 80 MB (a styl Aero natychmiast stosuje się ponownie, więc nie jest to jak restart zabija efekty wizualne).
Violet Giraffe
1
Dzięki, mój komputer stał się znacznie szybszy, szczególnie w Eclipse. Pamiętaj, że wyłącza „Aero” i jego przezroczyste efekty okien itp.
pjc50
Najpierw wypróbowałem podpowiedź z computerhope.com/issues/ch001182.htm, aby przełączyć się z (domyślnego?) Stylu Aero na motyw podstawowy Win - i to zmniejszyło użycie (ale dla mnie za mało). Następnie wypróbowałem tę poprawkę i to naprawdę pomogło.
Lars Nordin
@ pjc50 Niedawno zacząłem używać Eclipse i zauważyłem, że dwm.exe zajmuje znacznie więcej pamięci niż zwykle. Może Eclipse nie działa dobrze z Aero?
Nicholas Pickering
6

Ponieważ nie mogę jeszcze komentować, dodam to jako dodatkową odpowiedź. Microsoft potwierdził wyciek pamięci w DWM.EXE: https://support.microsoft.com/en-us/kb/3078667

Krótko mówiąc, DWM.EXE przecieka pamięć, gdy okna statusu są otwarte przez długi czas.

Alexandr Zarubkin
źródło
1

Spróbuj ponownie uruchomić usługę dwm:

  1. Naciśnij Win+ ri wpisz services.msc .
  2. Znajdź Menedżera sesji pulpitu Menedżera okien .
  3. Kliknij Uruchom ponownie usługę i sprawdź, czy to naprawia.

Lub jeśli chcesz pozbyć się całego procesu razem, po prostu kliknij Stop .

jestem mężczyzną
źródło
Z tego, co rozumiem, ponowne uruchomienie komputera miałoby taki sam efekt jak ponowne uruchomienie DWM. I czy zatrzymanie DWM byłoby dobrym pomysłem, biorąc pod uwagę jego potrzebę?
Leonard Challis
Technicznie tak, ale tutaj przeczytaj, czy to pomoże komukolwiek: howtogeek.com/howto/windows-vista/…
imtheman
1
Nie rozumiem, jak to w ogóle pomaga. Pamiętaj, że nie polecam wyłączania tego, chyba że grasz w gry w trybie pełnoekranowym, a nawet wtedy prawdopodobnie nie pomoże to zwiększyć prędkości. na początek i rzeczywiście przeczytałem już tę stronę (zrobiłem Google przed opublikowaniem tego pytania). Powiedziałem również, że wiem, że można przestać się przełączać, ale chcę wiedzieć, dlaczego zużywa zbyt dużo pamięci, w przeciwnym razie po prostu papruje nad pęknięciami. i to wcale nie pomaga.
Leonard Challis,
Począwszy od systemu Windows 7 nie można zatrzymać DWM (więc usługa nie pojawia się w services.msc)
marijnr
0

Kolejną wskazówką dotyczącą przyspieszenia jest przytrzymanie windows keyi wciśnięcie r, wpisanie msconfigi naciśnięcie enter, kliknięcie boot tab>, advanced optionsa następnie sprawdzenie, mark number of processorsa następnie kliknięcie strzałki w dół i wybranie maksymalnej liczby rdzeni 2 to duet 4 to czterokrotne uderzenie ok.
Zaznacz dziennik rozruchowy i informacje o rozruchu systemu operacyjnego, a następnie kliknij prawym przyciskiem myszy make all boot changes permanenti upewnij się, że nic więcej nie jest otwarte, a applynastępnie naciśnij i uruchom ponownie.
Większość komputerów z systemem Microsoft Windows domyślnie używa tylko jednego rdzenia. Z pewnością działa to w systemach Windows 8 i 8.1. Nie próbowałem tego wcześniej na niczym.
Powodzenia :)

Modliszka
źródło
to naprawdę nie wydaje się dobrym pomysłem, aby zadzierać z tą opcją - szczególnie twój komentarz „Większość komputerów z systemem Microsoft Windows używa domyślnie tylko jednego rdzenia”. !!
Simon