Czy jest jakiś powód, aby nie wyłączać pliku strony systemu Windows, biorąc pod uwagę wystarczającą ilość fizycznej pamięci RAM?

35

Kwestia wyłączenia pliku stronicowania systemu Windows była już dość dyskutowana, na przykład tutaj i tutaj i tutaj . Ludzie nadal oceniają odpowiedzi, które mówią „ nie powinieneś wyłączać pliku strony, nawet jeśli masz dużo pamięci RAM ”, ale nie widziałem jeszcze żadnych konkretnych, możliwych do zweryfikowania powodów dla tej porady. O ile widzę, jeśli nigdy nie musisz czytać z pliku strony (ponieważ masz wystarczającą ilość pamięci RAM), wówczas wydajność może być tylko gorsza z włączoną funkcją ze względu na wcześniejsze zapisywanie w systemie Windows. W najlepszym razie wydajność byłaby taka sama. Nie widzę, jak można to poprawić, zapisując dane, których nigdy nie musisz czytać.

Więc moje pytanie brzmi:

Zakładając, że mam wystarczającą ilość fizycznej pamięci RAM na wszystko, co robię, czy jest jakiś powód, dla którego nie powinienem wyłączać pliku strony?

Załóżmy, że wersja systemu Windows to Windows XP x64 SP2 lub Windows Server 2003 x64 SP2 (to samo). Jeśli jest inaczej w Windows Server 2008 x64, chciałbym również usłyszeć odpowiedź na to pytanie. Szukam konkretnych, obiektywnych powodów z dobrych źródeł, nie tylko opinii. Coś w stylu „tutaj są testy porównawcze wykonane z plikiem strony i bez niego, a wyniki były lepsze z plikiem strony, nawet z wystarczającą ilością pamięci RAM” lub „zgodnie z tym artykułem MS KB problem X pojawia się po wyłączeniu pliku strony”.

Do tej pory jedynymi powodami, o których widziałem, są:

  • Nawet jeśli uważasz, że masz wystarczającą ilość pamięci RAM, możesz skończyć. OK, ale na potrzeby tego pytania, weźmy to za pewnik, że mam dość. Może kiedykolwiek czytam tylko e-maila i mam 16 GB pamięci RAM. Lub 128 GB. Lub 1 TB. Lub cokolwiek - ale to wystarczy na 100% tego, co robię, przez 100% czasu. Innym sposobem, aby o tym pomyśleć jest: jeśli mam x MB fizycznej pamięci RAM i plik MB strony y i nigdy nie zabraknie mi pamięci RAM w tej konfiguracji, czy nie byłoby lepiej, jeśli chodzi o wydajność, z x + y MB fizycznej pamięci RAM i plik strony?
  • Windows jest „przyzwyczajony” do posiadania pliku stronicowania i może nie działać tak niezawodnie (od zrozumienia wpływu pamięci RAM na ogólną wydajność systemu. Jest to raczej niejasne i trudno mi w to uwierzyć, biorąc pod uwagę, że MS zapewniło opcję wyłączenia pliku strony .
  • Windows wie, co robi lepiej niż ty. Nie - nie wie, że nie będę uruchamiać więcej programów ani ładować więcej danych, ale robię to.
EMP
źródło
14
ten temat był omawiany ad nauseam na prawie każdym forum związanym z technologią pod słońcem. wniosek: zrób to lub nie rób tego. jeśli to działa, świetnie, kontynuuj swoje życie. jeśli nie, pamięć wirtualna znajduje się zaledwie kilka kliknięć myszką. poza tym marnujemy tutaj czas. lepiej omówić najlepszą przeglądarkę lub oprogramowanie antywirusowe! :) (przy okazji, ten link jest świetny do przeczytania, zalecany)
1
@ Molly Masz na myśli TWÓJ link? :)
EMP
3
@ Molly: Jeśli uważasz, że to strata czasu, nie komentuj wcale, po prostu zignoruj ​​i przejdź dalej. Po co krytykować pytanie? Możesz się tym nie przejmować, ale inni tak.
Mas
2
Czuję twoją frustrację z tego powodu. Ostatnio przeszedłem z 4 GB ddr2 do 8 GB ddr3. Facet w pracy mówi „pamiętaj, aby zrobić swap rozmiar 8-12 gb”. CZEMU? Robię te same rzeczy, które robiłem wcześniej, a teraz mam dwa razy więcej fizycznego barana; dlaczego miałbym potrzebować WIĘCEJ przestrzeni wymiany?
LoveMeSomeCode
2
Nie subiektywne - proszę uważnie przeczytać pytanie, szczególnie założenie. Proszę o konkretne powody z wiarygodnych źródeł, a nie opinii.
EMP

Odpowiedzi:

14

To jest mikrooptymalizacja. Chodzi o to, że nie ma powodu, aby to robić, w czymkolwiek przypominającym normalne działanie. Może łatwo zranić cię, jeśli zmieni się twój schemat użytkowania.

W wyspecjalizowanych przypadkach może to mieć sens, na przykład jeśli nie ma lokalnego dysku z możliwością zapisu.

Kapitanie Segfault
źródło
Zgadzam się, zostaw to włączone.
user10547,
Czy system Windows może nawet uruchomić komputer z dysku, którego nie można zapisać?
łosoś łosoś
Tak, ale musisz zmienić wiele rzeczy, aby działało. Np. Rejestr musi znajdować się na dysku z możliwością zapisu, więc musisz przekierować go na ramdysk itp. ...
Christopher
1
Oczywiście istnieje powód, aby wyłączyć swap - podstawową jest to, że Windows wymienia pamięć aplikacji, nawet gdy pamięć fizyczna jest wolna. Dlatego za każdym razem, gdy wracasz do komputera po wyjściu z niego na godzinę, spędzasz nadmiernie dużo czasu, podczas gdy dysk twardy miażdży zalewanie fizycznej pamięci RAM. Absolutnie POWAŻNA rada mówi, że nie ma powodu, aby wyłączać plik wymiany.
PP.
Czy zauważyłeś przyspieszenie wyłączenia pliku stronicowania? Ja osobiście nie mam, a z tego, co przeczytałem, większość ludzi nie. Jak powiedział @Captain Segfault, jest to mikrooptymalizacja.
Sasha Chedygov
8

Istnieje wiele powodów, aby zachować plik strony, nawet jeśli wszystko zmieści się w pamięci RAM.

Odpowiedź na SF ma 125 pozytywnych opinii i łączy wiele wiarygodnych artykułów. Sprawdź to:

https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684

MDMarra
źródło
3
podczas gdy wszystko to może być prawdą i z całą pewnością się zgadzam, z przyjemnością podam link, w którym Microsoft (faceci, którzy spędzili tyle czasu na myśleniu o tym :) wyraźnie poleca wyłączenie pamięci wirtualnej (brak pliku strony na moim komputerze eee przez prawie 2 lata, na długo przed tym, jak MS opublikowało te wytyczne). powiedziawszy to, na komputerze stacjonarnym z nowoczesnym dyskiem twardym i pamięcią podręczną potworów, to po prostu nie robi różnicy. jednak każdy ma swoje. link (PDF, s.10): download.microsoft.com/download/2/0/a/…
3
Jeśli Twój eee ma 2 lata, ma w nim dysk SSD pierwszej generacji. Wyłączenie pliku strony przedłuży żywotność dysku SSD, ale oczywiście nie jest to standardowy przypadek.
MDMarra,
nie powiedziałem procedury Stantdarda, prawda? :) i nie będę zalecał wyłączania pliku strony jako „dobrej praktyki komputerowej”, jednak jeśli ktoś chce to zrobić, pozwól mu. okazało się, że działa bez przerw, mimo wszystkich „złych rzeczy”, które się zdarzają. a jeśli to nie działa, nowy plik stronicowania znajduje się zaledwie kilka kliknięć. a jeśli cierpisz na wolny dysk twardy / ssd, istnieją programy, które pozwolą ci przypisać pamięć systemową jako pamięć podręczną dysku twardego w celu przyspieszenia stronicowania.
Przeczytałem tę odpowiedź (tak naprawdę jest powiązana z moim pytaniem) i to był powód, dla którego opublikowałem to pytanie.
EMP
8

Z tego linku:

UWAGA: Firma Microsoft zdecydowanie NIE zaleca wyłączania ani usuwania pliku stronicowania.

Aby wyłączyć korzystanie z pliku stronicowania w systemie Windows XP, musisz mieć co najmniej 768 MB pamięci RAM.

Oto link do poglądu Jeffa Atwooda .

Lance Roberts
źródło
Uwaga: Myślę, że ta liczba jest zdecydowanie za niska, powinieneś mieć wyjątkowo dużo pamięci przed wyłączeniem pliku stronicowania i jestem pewien, że nadal będziesz mieć różne problemy.
Lance Roberts
Nie podają jednak powodu tej rekomendacji - i podejrzewam, że dzieje się tak po prostu dlatego, że większość użytkowników nie wie, czy ma wystarczającą ilość pamięci RAM, więc jest to dobra „ogólna zasada”. Jeśli chodzi o aplikacje, które przydzielają pamięć, której nie używają, pamięć ta powinna być „zarezerwowana”, a nie „zaangażowana”, więc zajmuje tylko wirtualną przestrzeń adresową. Jeśli zajmą dużo pamięci, nie potrzebują pliku stronicowania, tak naprawdę mnie nie uratują.
EMP
Link do posta na blogu Jeffa wydaje się być zepsuty.
Izaak
1
@Isaac, naprawiono ..
Lance Roberts
6

Od ponad roku korzystam z 32-bitowego laptopa z systemem Windows XP SP3 Professional z 4 GB pamięci RAM (Windows „oficjalnie” rozpoznaje tylko 3 GB) bez pliku stronicowania. Ludzie w moich kręgach próbowali mnie przestraszyć, że nie powinienem był tego robić.

Korzystam z aplikacji bardzo obciążających pamięć - w danym momencie mam co najmniej dwie maszyny wirtualne (vmware), na których skonfigurowano działanie w 100% w pamięci RAM, mam co najmniej jedno wystąpienie programu Visual Studio (który ma wiele zainstalowanych dodatków), SQL Server i kilka „małych” aplikacji, takich jak e-mail, komunikatory internetowe, IE itp.

Oprócz tego wszystkiego mam też stały ramdysk o pojemności 256 MB. Od czasu do czasu korzystam z Adobe Photoshop PODCZAS reszty aplikacji. Gram też w kilka gier, w tym Quake3, Neverwinter Nights, Oblivion.

I NIE mam ŻADNYCH problemów.

Uwaga do BlueNovember: nasz przyjaciel bardzo uprzejmie poprosił o obiektywne powody. Tak więc stwierdzenia takie jak „Podejrzewam ...” są nieuzasadnione. Dowiedz się przed opublikowaniem! Hibernacja nie ma nic wspólnego ze stronicowaniem. Używa osobnego pliku o nazwie hiberfil.sys i można hibernować bez pliku stronicowania.

PS: Przepraszam, odmawiam powrotu do „normalnej” konfiguracji, abym mógł faktycznie sprawdzić, jak szybka jest ta konfiguracja, ale samo zobaczenie o wiele mniejszej ilości migotania dysku twardego jest bardzo pocieszające. Wyłączę plik strony tylko z tego powodu, ponieważ nic więcej, bo przynajmniej twój komputer „czuje się” szybciej, gdy dioda LED dysku twardego nie miga stale.

JEDYNYM powodem, aby nie wyłączać pliku strony, jest użycie Monitora wydajności (PerfMon), ponieważ zależy to od pliku strony i wymaga co najmniej 2 MB pliku strony, inaczej liczniki będą brakować dla następujących obiektów: pamięci podręcznej, pamięci, obiektów, procesora i system.


źródło
1
zawsze znajdziesz ludzi, którzy będą skłonni powiedzieć innym, jak powinni obsługiwać swoje komputery, podsycając kulturę strachu („złe rzeczy” się zdarzą, survive2012.com )
1
Heh Dobry. Zauważysz, że starałem się trzymać z daleka od tego. ;-) Po prostu opisuję to, co robię, pozostawiając analizę i akceptację jako wolny wybór dla czytelników. Ale chcę spróbować rozwiązać ten mit, że twój komputer wysadzi cię w twarz, jeśli wyłączysz plik stronicowania.
Używam mojego laptopa z systemem Vista w wersji 32-bitowej z 4 GB pamięci RAM (Microsoft chętnie zdecydował, aby dodatkowa fizyczna pamięć RAM była bezużyteczna, chociaż od czasów MS-DOS firma wiedziała, jak adresować więcej pamięci niż liczba bitów w system) BEZ pliku strony. Bez problemów. Czasami dwa osobne wystąpienia przeglądarki Firefox, MSN Messager i kilku innych aplikacji uderzą w pułap pamięci, po czym aplikacje po prostu ulegną awarii i znikną. Jedynym powodem, dla którego myślę o ponownym włączeniu pliku stronicowania, jest Grand Theft Auto (mnóstwo pamięci i mnóstwo kalek).
PP.
4

Uważam, że jeśli nie masz pliku stronicowania, to w przypadku BSOD Windows nie będzie mógł napisać mini-zrzutu. Oznacza to, że nie będziesz w stanie przeanalizować problemu za pomocą odpowiednich narzędzi.

Może to nie przeszkadzać, jeśli nie występują BSOD, i z pewnością możesz szybko odtworzyć plik strony, ale dlaczego nie być przygotowanym?

harrymc
źródło
Jak prawdziwe jest to… jakieś artykuły pomocnicze?
Pacerier
4

Najlepszym powodem, jaki znalazłem, jest to, że plik stronicowania pozwala systemowi Windows na użycie większej ilości fizycznej pamięci RAM dla pamięci podręcznej dysku, co może być lepszym rozwiązaniem dla niego niż rzadko używane strony pamięci. Mark Russinovich ma świetny artykuł na ten temat, przekraczając granice systemu Windows: pamięć wirtualna , który mówi:

Niektórzy uważają, że brak pliku stronicowania powoduje lepszą wydajność, ale ogólnie rzecz biorąc, posiadanie pliku stronicowania oznacza, że ​​system Windows może zapisywać strony na zmodyfikowanej liście (które reprezentują strony, które nie są aktywnie otwierane, ale nie zostały zapisane na dysku) na plik stronicowania, dzięki czemu pamięć ta jest dostępna dla bardziej przydatnych celów (procesów lub pamięci podręcznej plików). Tak więc, chociaż niektóre obciążenia mogą działać lepiej bez pliku stronicowania, generalnie posiadanie jednego z nich będzie oznaczało, że w systemie będzie dostępna większa użyteczna pamięć (nieważne, że Windows nie będzie w stanie pisać zrzutów awaryjnych jądra bez pliku stronicowania o dużym rozmiarze wystarczająco, aby je utrzymać).

EMP
źródło
3

Korzystam z systemu Windows XP z 4 GB (3,5 GB użytecznej) pamięci RAM. Muszę uruchomić program Visual Studio 2008, który wymaga dużo pamięci. Często mam otwarte 3 do 4 instancji, z których każda zajmuje 500 MB lub więcej pamięci.

Bardzo mnie to zirytowało, ponieważ za każdym razem, gdy potrzebowałem szybko zamknąć wszystkie wystąpienia programu Visual Studio, system Windows zabrałby wieczność do zamknięcia wystąpień. Zajęło to 3 minuty lub więcej. Zrozumiałem, że dzieje się tak, że instancje Visual Studio były stronicowane poza RAM i do pliku strony, nawet jeśli było dużo pamięci. Podczas zamykania aplikacji ładuje wszystkie dane stronicowane z powrotem do pamięci RAM, a następnie zamyka. Zasadniczo skopiowałby 2 GB danych z dysku do pamięci przed zamknięciem instancji.

Po wyłączeniu stronicowania zauważyłem OGROMNY wzrost wydajności podczas zamykania wielu instancji Visual Studio. Zajmie to 100% procesora przez kilka sekund, a następnie zniknie. Zamykanie systemu Windows jest teraz możliwe znacznie poniżej minuty, a nie wielu minut.

Jednak nie zauważyłem żadnego wzrostu wydajności podczas uruchamiania aplikacji, co ma sens, ponieważ dane nadal muszą być odczytywane z dysku podczas uruchamiania. Poza tym uważam, że przy generowanym wyłączaniu stronicowania sprawy są znacznie szybsze.

Poza tym wpadałem na awarie programów tylko z powodu niewystarczającej ilości pamięci tylko kilka razy w roku. Zwykle, jeśli otworzę zbyt wiele programów lub program oszaleje i zacznie przydzielać pamięć jak szalony.

Podsumowując, jestem bardzo zadowolony z wyłączenia stronicowania. Zarządzanie pamięcią w systemie Windows jest dość okropne. Dla tych, którzy nie mają nic przeciwko majstrowaniu przy ustawieniach pamięci i są świadomi możliwych problemów, polecam to zrobić.

Mas
źródło
To najlepsza odpowiedź dla użytkowników programu Visual Studio, znacznie lepsza teraz bez pliku stronicowania.
79E09796,
Robię to samo dla siebie. umieść 8 GB pamięci RAM na komputerze i wyłącz plik stronicowania. Teraz mój system Windows korzysta z
ponad 3,5
2

Wbrew powszechnej opinii plik strony nie jest po prostu tanią, ale wolną alternatywą dla pamięci fizycznej. Został zaprojektowany, aby umożliwić optymalne wykorzystanie posiadanej pamięci RAM.

Nawet z 4 GB pamięci RAM prawdopodobnie nie masz wystarczająco dużo, aby utrzymać wszystko w pamięci. Nic w Menedżerze zadań tego nie ujawni. Wiedząc o tym, projektanci Windows stworzyli system, w którym kod wykonywalny był wprowadzany do pamięci tylko w razie potrzeby, a następnie przechowywany tak długo, jak to możliwe. Jeśli system znajdzie lepsze wykorzystanie tak wykorzystanej pamięci, zostanie ona ponownie przypisana. System ten jest używany przez Microsoft od NT3.1, wydanego w 1993 roku. Od lat 60. jest regularnie używany w dużych systemach.

Ten system działa dobrze w przypadku większości form kodu wykonywalnego. Ale zmodyfikowane dane muszą być gdzieś zapisane, plik stronicowania, zanim wykorzystana pamięć będzie mogła zostać ponownie przypisana. Plik strony nie jest zwykle używany do przechowywania kodu, tylko dane. Możliwość stronicowania zarówno kodu, jak i danych daje systemowi elastyczność w zakresie tego, co powinno być stronicowane w razie potrzeby. Wyłączenie pliku strony oznacza, że ​​tylko pamięć używana do przechowywania kodu może zostać przypisana ponownie. Wszystkie zmodyfikowane dane, nawet te, do których nie uzyskiwano dostępu przez długi czas i które mogą nie być ponownie potrzebne, muszą pozostać na zawsze w pamięci RAM. Ale stronicowanie kodu będzie kontynuowane jak poprzednio. Brak pliku strony lub posiadanie zbyt małego pliku powoduje niezrównoważenie systemu i zmusza system Windows do stronowania w sposób nieoptymalny. Zwykle obniża to wydajność.

użytkownik43161
źródło
1
Twoje pierwsze zdanie brzmiało obiecująco, ale reszta odpowiedzi zakończyła się tym samym starym „wydaje ci się, że masz wystarczającą ilość pamięci RAM, ale nie”. Myślę, że w zasadzie mówisz, że określając ilość potrzebnej pamięci RAM, nie uwzględniłem kodu, tylko danych. Jest to ogólnie słuszna kwestia, ale nie odpowiada na to pytanie. Zobacz bit zaczynający się od, jeśli mam x MB fizycznej pamięci RAM i y MB pliku stronicowania ... Ponadto nie rozumiem, w jaki sposób brak pliku stronicowania może spowodować, że system Windows wyświetli stronę.
EMP
1
Właśnie wskazałeś, że system jest używany od 1993 roku. Czy zdajesz sobie sprawę, ile pamięci było wtedy dostępne w porównaniu do teraz? Mówimy o 2-4 MB vs. 2-4 GB, to wzrost o 1000x. Jednocześnie dyski twarde nie przyspieszyły 1000 razy. Dlatego stronicowanie 200 MB z pamięci RAM na dysk, a następnie z powrotem, jest NAPRAWDĘ KOSZTOWE! Przywoływanie 200 KB jest znacznie tańsze w 1993 r. Niż teraz przywoływanie 200 MB.
Mas
@Mas: Są teraz dyski SSD i wystarczająca ilość pamięci, aby wyłączyć stronicowanie (jeśli jesteś pewien, że nigdy go nie zapełnisz).
Tamara Wijsman,
1

Jeśli twój ram zmaksymalizuje jeden lub więcej programów, które zażądały pamięci, najprawdopodobniej nagle się zawiesi.

Ryzyko to przeważy nad ewentualnym wzrostem wydajności.

RJFalconer
źródło
To powiedziawszy, jeśli jesteś tak pewny siebie, jak sugeruje twoje pytanie, nie powinno być większego problemu. Podejrzewam również, że brak zestawu plików stronicowania uniemożliwi hibernację.
RJFalconer
W porządku - to się nie skończy. Zakładamy tutaj, że mam wystarczającą ilość pamięci RAM. Nawiasem mówiąc, nie sądzę, aby Windows zawiesił się z niebieskim ekranem, chyba że jest tak mało pamięci RAM, że sam system operacyjny nie może się w nim zmieścić. Tak naprawdę nigdy tego nie widziałem, ale tak, wyobrażam sobie, że gdybyś próbował uruchomić XP na 16 MB pamięci RAM, mogłoby to być.
EMP
tak, nie będzie niebieskiego ekranu, po prostu pojawi się jakiś błąd pamięci.
łosoś łosoś
1

Moje sugestie to zachować plik strony, ale ręcznie napraw go do małego rozmiaru, na przykład 128 MB, na dysku systemowym.

Powód jest praktyczny: system Windows naprawdę oczekuje, że będzie plik wymiany i najczęściej utworzy tymczasowy plik zarządzany automatycznie, jeśli nie zostanie znaleziony, co spowoduje utratę wygody w jego wyłączeniu.

Ponadto w niektórych operacjach, takich jak BSODing, liczniki wydajności, zawieszanie / wznawianie / hibernacja, po cichu zawiedzie lub źle zachowa, i w jakiś sposób pogorszy się stabilność systemu. Wszystko to oparte na moich doświadczeniach, a wszystko to zniknęło z niewielkim plikiem stronicowania.

Zauważ, że plik wymiany najprawdopodobniej zostanie wypełniony w pierwszych kilku minutach wykonania, w większości przypadków nie będzie ponownie dotykany, więc nie będziesz ponosić zwykłego pliku wymiany kary dostępu do dysku. MOŻESZ otrzymać komunikat „kończy Ci się pamięć” wkrótce w sesji, który możesz bezpiecznie zignorować (tak, zamiana jest pełna, więc co?)

(Bardzo też nie lubię super pobierania i raczej zostawiam wolną pamięć dla efektów buforowania)

ptor
źródło
„(Bardzo też nie lubię super pobierania i raczej zostawiam wolną pamięć dla efektów buforowania)” To nie ma sensu. SuperFetch JEST pamięcią podręczną.
Jamie Hanrahan,
1

Jedną z odpowiedzi, o której nie wspomniano, jest to, że system Windows używa pliku strony do przechowywania zrzutów awaryjnych. Funkcja niebieskiego ekranu komputera zapisuje zrzut awaryjny bezpośrednio w sektorach na dysku, który zawiera plik stronicowania (pomijając sterownik systemu plików, któremu Windows obecnie nie może zaufać).

Bez pliku strony nie można uzyskać informacji zrzutu awaryjnego. Ponadto plik strony nie zaszkodzi, jeśli go nie użyjesz, więc poza bardzo ograniczonym zestawem scenariuszy nie ma powodu, aby go wyłączać.

Justin Krejcha
źródło
0

Pomyśl o ładowaniu pozostałej pamięci przez pamięć podręczną przez SuperFetch , a wtedy stanie się jasne, dlaczego nie powinniśmy wyłączać pliku strony. Zadania seryjne (ponieważ wielozadaniowość jest zła) i uruchamianie aplikacji w pamięci podręcznej są naprawdę przydatne, więc fajnie jest mieć funkcję SuperFetch kosztem stronicowania.

Tamara Wijsman
źródło
Nie chcę, aby system Windows decydował, czego mogę potrzebować. Nie mam nic przeciwko czekaniu kilku sekund, aż coś się załaduje. Nienawidzę tego, kiedy na jakiś czas nie skupiam uwagi na aplikacji, aby zrobić coś innego, a następnie przywracam jej ostrość, muszę poczekać, aż system Windows załaduje aplikację z dysku z powrotem do pamięci. Jest to bardzo widoczne w przypadku aplikacji, które zużywają dużo pamięci RAM. Uważam, że to zachowanie poprawiło się w systemie Windows 7.
Mas
@Mas: To jest normalne zachowanie i byłoby obojętne, gdyby nie było SuperFetch. Możesz jednak zdecydować o wyłączeniu SuperFetch, ale to nie przyspieszy ładowania nieaktywnych aplikacji do pamięci. Jeśli jest to bardzo zauważalne, czy jesteś pewien, że Twój dysk jest nadal w dobrym stanie?
Tamara Wijsman
Chodzi mi o to, że wolę mieć gotowe aplikacje w pamięci, niż wymieniać je na rzeczy, które według Super-Fetch mogą być potrzebne. Ponieważ często uruchamia się kilka instancji programu Visual Studio, ich ponowne załadowanie do pamięci może zająć trochę czasu.
Mas
@Mas: Opisywane zachowanie nie jest tym, co widzę na kilku komputerach, a SuperFetch nie robi tego, co opisujesz. Jak opisano w artykule o horrorze kodowania o SuperFetch „pusta pamięć podręczna to zmarnowana pamięć podręczna”. Ponadto nie ma potrzeby uruchamiania kilku instancji programu Visual Studio, ponieważ w jednym rozwiązaniu można mieć wiele plików w wielu projektach. Jeśli pracujesz nad wieloma rozwiązaniami, możesz rozważyć zmianę hierarchii projektu, ponieważ nie jest to zalecany sposób pracy.
Tamara Wijsman,
I wracając do podstawowych zasad życia zawodowego: artykuł Coding Horror o Micie wielozadaniowym .
Tamara Wijsman,
0

Jeśli twoje pytanie brzmiało:

Zakładając, że mam wystarczającą ilość fizycznej pamięci RAM na wszystko, co robię, i

  • Zawsze wykonuję tylko niewielki stały zestaw zadań, które nie są lokalnie intensywne z dostępem do plików

  • ORAZ gdy wszystkie te zadania są uruchamiane jednocześnie z możliwie największym plikiem / danymi, jakie mogą być uruchomione, wraz z procesami systemu Windows, mieści się w mniejszej ilości pamięci RAM niż jest zainstalowane

  • ORAZ środowisko tylko bardzo rzadko zawiera nowe lub nieoczekiwane pliki lokalne, a szybkość dostępu do nich nie jest wielka

czy jest jakiś powód, dla którego nie powinienem wyłączać pliku strony?

i powiedziałeś tak, to byłoby OK.

Środowiska osadzone są prawdopodobnie tam, gdzie miałoby to największe szanse na zastosowanie, np. Instalacja systemu kasowego.

LawrenceC
źródło
0

Prosta odpowiedź brzmi: okna stają się okropne, jeśli zabraknie pamięci.

Rzeczy stają się bolesnie powolne.

Wiele pakietów oprogramowania ma wycieki pamięci, które powoli pochłaniają dostępną pamięć RAM.

Ponadto system Windows wykorzystuje część pamięci RAM jako pamięć podręczną dysków twardych.

Chyba że naprawdę masz dużo więcej pamięci RAM, której potrzebujesz, w końcu będzie problemem.

cybernard
źródło
-1

Plik strony

Korzystam z 32-bitowego XP z pamięcią 4 GB (wiem, XP widzi tylko 3 GB, ale jest przeplatane i bardzo szybkie) i chciałbym zrobić dwa punkty:

XP widzi tylko 3 GB pamięci. Kiedy mój komputer już to ma, jaki jest sens pliku stronicowania? Rezerwuje pamięć dyskową, do której nigdy nie może uzyskać dostępu. Chyba że wyłącza trochę pamięci RAM. Więc spędziłeś ciężko zarobioną, górną pamięć dolara, tylko po to, by przekonać się, że XP to dysk randkowy.

Jeśli używasz XP w wersji 32-bitowej i masz 4 GB pamięci, spróbuj tego eksperymentu: Wyłącz plik stronicowania. Uruchom ponownie XP. Usuń plik stronicowania. Uruchom kilka programów, Word, Excel, Chrome, IE Ex, obejrzyj film, streamuj muzykę lub telewizję. Wszystko powinno działać dobrze. Ponownie włącz plik strony, tym razem z naprawdę małym rozmiarem, powiedzmy 25 MB. Uruchom ponownie XP. Uruchom kilka programów, Word, Excel, Chrome, IE Ex, obejrzyj film, streamuj muzykę lub telewizję. Wkrótce otrzymasz wiadomość, że kończy Ci się pamięć wirtualna. Dowodzi to, że XP używa pliku stronicowania, nawet gdy nie jest to konieczne. Sprawdź kartę wydajności menedżera zadań (alt ctrl del). Szczyt będzie znacznie poniżej całkowitej pamięci fizycznej, więc dlaczego XP używa pliku stronicowania? I dlaczego XP myśli, że kończy Ci się pamięć?

Plik strony to anachronizm z czasów DOS i Windows 98. Jeśli masz wystarczającą ilość pamięci, pozbądź się jej.

David Read
źródło
4
Korzystanie z pliku stronicowania wcale nie wyłącza pamięci RAM. Chociaż aplikacje nie mogą zużywać więcej niż ilość pamięci RAM (a większość aplikacji 32-bitowych i tak nie rozpoznaje dużych adresów), pozwala to systemowi Windows na buforowanie rzeczy na dysku. Jeśli proces pozostanie bezczynny, zostanie on zapisany w pliku strony, aby zwolnić więcej pamięci dla procesów, których aktualnie używasz. Czasami buforowanie może być nieodpowiednie, ale taka jest teoria. Sugeruję, abyś zapoznał się z niektórymi dokumentami technicznymi, w jaki sposób działają pliki stronicowania i co dokładnie robią.
ssube
1
David Read: Mylicie wirtualne i fizyczne limity adresowania. Twój 32-bitowy XP z pewnością może adresować ponad 4 GB wirtualnej przestrzeni adresowej. Tylko 4 GB na proces, ale możesz mieć wiele procesów. Twoja analiza, że ​​„XP używa pliku strony, nawet gdy nie jest to konieczne”, jest również błędna. Rzeczywistość polega na tym, że XP cały czas korzysta z adresowania wirtualnego, ale to wcale nie oznacza, że ​​cały czas korzysta z pliku stronicowania. Plik strony po prostu pozwala na istnienie większej liczby wirtualnych przestrzeni adresowych jednocześnie. Jeśli go nie masz i potrzebujesz, programy ulegną awarii.
Jamie Hanrahan