RamMap „Pusta lista gotowości” drastycznie przyspiesza PC. Czy jest na to lepszy sposób?

24

Wiele osób uczy się, jak działa buforowanie Menedżera pamięci Windows, czytając oficjalne dokumenty Microsoft itp. Istnieje jednak stosunkowo niewiele dokumentów opisujących rzeczywiste problemy z wydajnością (powolność) związane z bardzo dużymi / rosnącymi mapowanymi plikami i listami rezerwowymi.

Mam komputer PC Win7 64bit (8 Gb RAM), który działa jak serwer. Nie mogę dodać do tego więcej pamięci. Ma kilka tunerów telewizyjnych, które nagrywają / zapisują jednocześnie kilka gigantycznych plików MPEG2 (co najmniej 3-8 GB każdy) na HDD 24/7. W zależności od tego, jak zajęty jest mój komputer nagrywaniem programów telewizyjnych, po 1-3 dniach mój komputer staje się powolny.

Patrząc tylko na Menedżera zadań Windows, wydaje się, że nie mam otwartych zbyt wielu dużych aplikacji; i mnóstwo „dostępnej pamięci”. Nawet jeśli zamknę wszystkie aktywne procesy, komputer pozostanie powolny. Jednak podczas korzystania z RamMap widzę, że te duże pliki MPEG2 stają się plikami mapowanymi na aktywnej liście rezerwowej; co z czasem sprawia, że ​​mój komputer jest bardzo powolny. Jeśli wybiorę opcję „Opróżnij listę rezerwową” w RamMap, mój komputer natychmiast staje się wyjątkowo elastyczny; jakbym właśnie to zrestartował. Nic więcej nie mogę zrobić, aby rozwiązać problem ospałości. W rzeczywistości komputer nigdy nie wyjdzie z tej powolności, chyba że opróżnię listę rezerwową lub zrestartuję komputer.

Mam narzędzie wiersza polecenia, EmptyStandbyList.exe, które, jak się okazało, cicho czyści listę rezerwową, zamiast robić to w GUI RamMap. Jednak niestety usuwa również z listy rezerwowej mniejsze elementy, które są bardzo przydatne do celów wydajnościowych, aby pozostać na liście rezerwowej.

Podczas wyszukiwania w Google znalazłem inne osoby, które mają prawie taki sam dokładny problem jak ja. Jednak większość ich pytań pozostaje bez odpowiedzi; bez prawdziwego wyjaśnienia, dlaczego tak się dzieje; i nie ma ostatecznego sposobu rozwiązania problemu poza techniką „Opróżnij listę rezerwową”.

Widziałem wzmianki o narzędziu / usłudze MS o nazwie „Dynamic Cache”; ale nie jestem pewien, czy leczy konkretnie to, czego chcę. Ponadto wydaje się, że wersja Win7 / Win2008 R2 jest dostępna tylko za pośrednictwem wsparcia MS. Widziałem także kilka narzędzi, które ustawiają „min / max limity pamięci podręcznej NT”; ale wyglądają, jakby były specyficzne dla zestawów roboczych dla procesów, a nie dla list rezerwowych.

Mam nadzieję, że ktoś, kto potrafi myśleć nieszablonowo, może wymyślić dla mnie bardziej wdzięczne lekarstwo zamiast tego, że muszę regularnie brutalnie opróżniać całą listę rezerwową; i, miejmy nadzieję, mieć ostateczne wyjaśnienie objawu, który widzę ja (i inni ludzie). Powodem, dla którego wspomniałem o „nieszablonowym” jest to, że jest już wiele osób, które lubią po prostu recytować, w jaki sposób mapowane pliki i priorytety listy rezerwowej „powinny” działać na papierze; co nie jest dla mnie bardzo pomocne.

użytkownik22667
źródło
Zdaję sobie sprawę, że jest to stary post i że ta sugestia może być trudna do przetestowania, ale jeśli pewnego dnia pojawi się okazja, możesz wypróbować konfigurację z wersją serwerową systemu Windows. Być może istnieją jeszcze inne nieudokumentowane różnice w sposobie, w jaki system operacyjny serwera obsługuje pamięć, która działałaby na twoją korzyść.
Mówię: Przywróć Monikę

Odpowiedzi:

2

Lista rezerwowa to pamięć podręczna Superfetch, a „pamięć podręczna dynamiczna” rozwiązuje inny problem. Usługa rozwiązuje problem polegający na tym, że pamięć podręczna metadanych NTFS jest zbyt wysoka. Ale Stadnbylist i ta pamięć podręczna to 2 różne rzeczy. Pamięć podręczna NTFS jest wyświetlana jako używana pamięć, natomiast pamięć podręczna w trybie gotowości zawiera dane, ale można ją bardzo szybko opróżnić, jeśli naprawdę nowa pamięć jest przechowywana w niej.

Na forum sysinternals użytkownik wj32, autor Process Hacker, stworzył narzędzie wiersza poleceń, które robi to, co chcesz:

http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769

Wypróbuj, jeśli to „naprawi” problem.

magicandre1981
źródło
5
Czy to narzędzie wiersza poleceń nie jest dokładnie tym samym EmptyStandbyList.exe, o którym OP wspomniał w swoim poście i dla którego chce lepszej, być może bardziej skoncentrowanej alternatywy?
Karan
2
Uhh ... Czy czytałeś wiersz, który zaczyna się od „Jednak niestety ...” i fakt, że chce „bardziej wdzięcznego lekarstwa”?
Karan
4
Miło jest wiedzieć, że ludzie, którzy poświęcają czas na dokładniejsze przeczytanie PO, zanim opublikują posta. Nauczyłem się jednak kilku rzeczy, których wcześniej nie znałem. Wygląda na to, że to, co faktycznie powoduje problem z wydajnością, jest związane z pamięcią podręczną Superfetch; nie pamięć podręczna metadanych NTFS. RamMap pokazuje oba. Wiem, że pod Windows Vista musiałem całkowicie wyłączyć usługę Superfetch, ponieważ nie wiedziałem, jak obsługiwać nagrania telewizyjne (z mojej aplikacji DVR); i powodował nadmierne użycie mojego dysku twardego. Obecnie mam usługę superfetch Win7, aby usprawnić uruchamianie i aplikacje, których używam w pamięci.
user22667
2
Używam dysku SSD do partycji rozruchowej; który ma tylko 256 GB. Jestem ciekawy, czy jakieś ustawienia w superpobieraniu wyleczyłyby ten problem; takie jak pomijanie niektórych typów plików przed superpobierzem? Mam nadzieję, że ktoś, kto wie, jak to wszystko działa, wyjaśnia, dlaczego tak się dzieje, i oferuje rozwiązanie, które jest lepsze niż to, co mam.
user22667 21.04.13
3
opróżnienie listy stanu gotowości bez zmiany ustawień współczynników / limitów menedżera pamięci po prostu monituje system Windows o rozpoczęcie wypełniania wolnej pamięci. Pozbywa się to również przydatnych rzeczy, które znajdują się również na liście rezerwowej, a obie te rzeczy zmniejszają prędkość maszyny w stosunku do jej możliwości.
BeowulfNode42
1

Możliwe, że powolność pochodzi z systemu Windows wymuszającego ładowanie / zapisywanie rzeczy z dysku Swap, że z każdym nagranym filmem lista rezerwowa rośnie i przy dużym dysku Swap inne programy (w tle) są teraz wypychane na dysk Swap, spowolnienie maszyny.

Jeśli ten komputer jest używany tylko do nagrywania programów telewizyjnych, być może rozwiązaniem byłoby ustawienie dysku Swap na tak mały, jak pozwala Windows, aby go ustawić, czyli 16 MB. Nie wyłączaj dysku Swap całkowicie, ponieważ wtedy system Windows utworzy dysk Swap w tajemnicy.

Niektórzy nie potrafią sobie wyobrazić, że Windows byłby powolny, gdyby tylko odczytywał dane z pamięci RAM, podczas gdy żadne nowe programy nie są ładowane z dysku.

Qoute z dokumentu MS http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :

„System Windows 7 SuperFetch ™ współpracuje z menedżerem pamięci w celu ustawienia priorytetów stron na liście w trybie gotowości. Strony, które niedawno zostały umieszczone na liście w trybie gotowości, zaczynają się od wysokiego priorytetu, który powoli maleje z czasem.

Jeśli system ma zbyt mało pamięci, aby poradzić sobie z obciążeniem, tylko niewielki procent stron na liście w trybie gotowości ma niski priorytet. Monitorując liczbę stron o różnych priorytetach, możesz ustalić, czy system skorzystałby na zwiększeniu ilości zainstalowanej pamięci RAM. ”

Ogólnie rzecz biorąc, celem jest zapewnienie, aby system mógł utrzymywać ostatnio odwoływane strony w pamięci i nadal mieć wystarczającą ilość dostępnej pamięci, aby zaspokoić wszelkie natychmiastowe potrzeby pamięci ”.

Być może również program do nagrywania TV, ponieważ działa i nie przestaje, ma każdą stronę, która przechodzi na listę gotowości, oznaczoną jako najwyższy priorytet wypychania innych rzeczy, które normalnie przyspieszyłyby system Windows. Można by pomyśleć, że te rzeczy są uwalniane, gdy kończy się pamięć i / lub gdy nie ma pliku wymiany, którego system Windows nie może potajemnie zacząć intensywnie używać dysku wymiany, co spowalnia działanie. Zakłada się, że dane z listy rezerwowej nie zostaną załadowane na dysk wymiany.

Vuurdraak
źródło