Dlaczego całkowite użycie pamięci raportowane przez Menedżera zadań Windows jest znacznie wyższe niż suma użycia pamięci przez wszystkie procesy?
Menedżer zadań pokazuje moje całkowite użycie pamięci na poziomie 90% z moich 6 GB, ale żaden pojedynczy proces nie używa więcej niż 250 MB RAM, a suma użycia pamięci RAM wszystkich uruchomionych procesów jest mniejsza niż 2 GB. Próbowałem:
- Patrząc na liczby w kolumnie “Pamięć” w zakładce “Procesy” w Menedżerze zadań Windows 8.
- Patrząc na kolumny “Zestaw roboczy”, “Prywatny zestaw roboczy”, “Współdzielony zestaw roboczy” i “Rozmiar zobowiązania” na karcie “Szczegóły” w Menedżerze zadań.
- Spojrzenie na podobne kolumny związane z pamięcią w Process Explorerze.
- Próbowałem uruchomić Sysinternals RAMMap, ale kiedy mam kryzys z niską pamięcią, zawiesza się on przy starcie. Kiedy rozwiążę problem, RAMMap działa normalnie, ale wtedy jest już za późno.
Wszystkie pokazują dość małą ilość używanej pamięci.
W całym Internecie jest mnóstwo ludzi zadających warianty tego pytania, z różnymi wersjami Windowsa. Niektórym z nich udaje się rozwiązać problemy z małą ilością pamięci, często poprzez przeinstalowanie oprogramowania, czasem poprzez zainstalowanie windowsa od nowa. Szukam odpowiedzi na ogólne pytania, które są wspólne dla wszystkich, a które nigdy nie doczekały się odpowiedzi w innych miejscach:
- Dlaczego całkowita używana pamięć jest znacznie wyższa niż pamięć używana przez wszystkie wymienione procesy, bez względu na to, jak próbuję je policzyć?
- Jak Windows może “wiedzieć”, że pamięć jest używana, nie wiedząc jaki program jej używa?
- Jakie procesy mogą zużywać pamięć, ale nie pojawiają się na liście?
- Czy istnieje jakieś oprogramowanie, które może dać więcej informacji o zużyciu pamięci?
Szczegóły specyficzne dla mojego problemu: Od czasu aktualizacji do Windows 8.1, problem pojawia się zaraz po zalogowaniu. Kończy mi się pamięć, gdy tylko uruchomię jakikolwiek program. Zauważyłem w Process Explorerze, że kilka instancji iexplore.exe było uruchomionych, najwyraźniej automatycznie. Jedna z nich zużywała tylko kilka MB pamięci RAM, ale pokazywała setki milionów błędów stron. Dla kaprysu, zabiłem ten konkretny proces, a zużycie pamięci natychmiast spadło o 70%.
Prowadzi to do jednego konkretnego pytania:
- W jaki sposób zabicie jednego procesu, który rzekomo zużywał tylko kilka MB, mogło zwolnić kilka GB?
Oraz (przypuszczalnie trudne) pytanie dodatkowe:
- Jak mogę uniknąć konieczności przechodzenia przez to przy każdym ponownym uruchomieniu komputera, bez reinstalacji systemu Windows?