Zamiana systemu Windows (plik strony): włączyć czy wyłączyć?

28

Z własnego doświadczenia zauważyłem, że wyłączenie pliku stronicowania w systemie Windows XP zapewniło mi generalnie największe przyspieszenie ze wszystkich innych zmian oprogramowania, jakie mogę wprowadzić. Oczywiście należy to zrobić, gdy dostępna jest znaczna ilość pamięci RAM. Zazwyczaj uważam, że działa dobrze z + 2 GB pamięci RAM. Jedyne problemy, jakie kiedykolwiek miałem, to ładowanie programu Adobe Photoshop.

Czy to naprawdę poprawa prędkości, czy sobie to wyobrażam?

Uwaga: Aby go faktycznie wyłączyć, musisz nie tylko ustawić go na 0 MB, ale także wyłączyć. W przeciwnym razie system Windows po prostu go rozszerzy, kiedy będzie to konieczne, aby zaspokoić swoje potrzeby.

Joe Phillips
źródło
9
Uwaga: Istnieje tylko ograniczona ilość pamięci podana do kierowców, zwany non-pagedi pagedbasen sekcje pamięci. Plik strony jest niezbędny, gdy sekcja stronicowana zapełni się, ponieważ jako gracz widziałem grę narzekającą na pamięć puli stronicowanej tylko dlatego, że mój plik stronicowania został wyłączony w systemie o pojemności 8 GB. Wniosek: Pliki stron są niezbędne, zapobiegają wyczerpaniu puli stronicowanej i faktycznie przyspieszają system.
Tamara Wijsman

Odpowiedzi:

18

Windows XP opróżnia zminimalizowane aplikacje na dyski jak szalone. Spróbuj sam, zacznij pobierać duży torrent i zminimalizuj wszystko. Wkrótce prawie cała pamięć RAM jest używana jako pamięć podręczna plików torrenta zamiast innych aplikacji. Wyłączenie pliku strony zapobiegnie takiemu zachowaniu.

Jednak w Windows Vista i Windows 7 system radzi sobie z tym scenariuszem znacznie, znacznie lepiej. Nie jestem pewien, czy wyłączenie pliku stronicowania w tych wersjach zrobi dużą różnicę.

Niektóre gry wymagają posiadania pliku strony, nawet jeśli nie jest tak naprawdę potrzebny. Zauważyłem to niedawno, próbując zagrać w wersję demonstracyjną gry pobraną ze Steam. Mimo że miałem 6 gigabajtów pamięci RAM, gra nie chciała się uruchomić, dopóki nie utworzyłem małego, małego pliku strony ... westchnienie

Osobiście, gdy mam dużo pamięci RAM, wolę przejść bez pliku stronicowania.

zidar
źródło
Pracowałem bez pliku strony w WinXP, odkąd zadałem to pytanie i było świetnie. Tak naprawdę nie próbowałem tego jeszcze na Win7, więc nie mogę powiedzieć, czy byłoby warto w nowszych wersjach systemu Windows.
Joe Phillips
Próbowałem tego na Win7 i nie miałem świetnego doświadczenia. Ponieważ dyski SSD nie są dostępne, warto mieć plik strony
Joe Phillips
Posiadanie pliku strony lub nie ma nic wspólnego z zachowaniem buforowania plików.
Jamie Hanrahan
25

Nie zadzieraj z tym, pozwól Windowsowi się zorientować.

Ta odpowiedź ServerFault jest najlepszym wyjaśnieniem, dlaczego:

Wydaje się, że wiele osób zakłada, że ​​system Windows wypycha dane do pliku strony na żądanie. EG: coś chce dużo pamięci i nie ma wystarczającej ilości pamięci RAM, aby zaspokoić tę potrzebę, więc system Windows zaczyna szalenie zapisywać dane z pamięci RAM na dysk w ostatniej chwili, aby mógł zwolnić pamięć RAM na nowe wymagania.

To jest niepoprawne.

Cios:

Całkowite usunięcie pliku stronicowania może spowodować więcej awarii dysku.

Factor Mystic
źródło
12
W jaki sposób usunięcie pliku strony spowodowałoby JAKIEKOLWIEK dyski? Jeśli już, to powinno przestać bić. Windows wyświetli błąd, jeśli zabraknie pamięci RAM - nie będzie decydował się na zamianę, jeśli został wyłączony.
Joe Phillips
2
d03boy, przeczytaj post SF. Jeśli musisz przenieść aktywną pamięć procesu poza ram, spowoduje to DUŻO większą aktywność dysku.
Factor Mystic
3
@ d03boy: Odpowiedź znajduje się w linkowanym poście. Zasadniczo, jeśli użyjesz zbyt dużo pamięci RAM, HD zostanie w jakiś sposób wykorzystane. Jeśli usuniesz plik stronicowania, HD nadal będzie używany do potencjalnego przechowywania kodu programu (po prostu odczytywanie go z oryginalnych plików na żądanie), gdy trzeba przydzielić więcej pamięci RAM.
Sean
1
@Factor, Windows po prostu wyświetla błąd, jeśli zużywa zbyt dużo fizycznej pamięci RAM. Nie przeniesie niczego poza RAM AFAIK @Darth, połączony post sprawia, że ​​brzmi to tak, jakby działało niezależnie od tego, czy stronicowanie jest włączone, czy wyłączone
Joe Phillips
2
Nie dotyczy to Windows XP, Windows XP ma straszne zarządzanie pamięcią. Przeczytaj moją odpowiedź.
zidar
7

z odpowiedzi Microsoft „wyłącz plik wymiany”

http://social.answers.microsoft.com/Forums/en-US/w7performance/thread/0bd8a75c-2607-4468-8342-c35ea82ea670

Ken Blake, Microsoft MVP

czy jest z tego jakaś poprawa wydajności? Dziękuję.

Czy możesz? Tak. Powinieneś? Nie definitywnie nie.

Czy dzięki temu zyskasz na wydajności? Nie, możliwa jest utrata wydajności.

Przede wszystkim 2 GB to niewiele pamięci RAM, to minimalna ilość, jaką powinna mieć większość ludzi.

Po drugie, jeśli nie masz pliku strony, nie możesz użyć całej dostępnej pamięci RAM. Wynika to z faktu, że system Windows wstępnie przydziela pamięć wirtualną w oczekiwaniu na jej ewentualną potrzebę, nawet jeśli przydzielona pamięć nigdy nie zostanie wykorzystana. Bez pliku stronicowania przydział ten musi być dokonywany w prawdziwej pamięci, co wiąże tę pamięć i uniemożliwia jej wykorzystanie w jakimkolwiek celu.

Po trzecie, nigdy nie ma korzyści z braku pliku strony. Jeśli nie jest potrzebny, nie będzie używany. Nie należy mylić przydzielonej pamięci z używaną pamięcią.

Ken Blake, Microsoft MVP (Windows Desktop Experience) od 2003 Ken Blake

miki
źródło
Co z thrashowaniem? Czy użycie HD jest mniejsze, jeśli jest wyłączone? To nie wydaje się cała odpowiedź. Nie wspominając, to pytanie dotyczy XP, a ta odpowiedź dotyczy Win7
Joe Phillips
Nie sądzę, że MVP jest poprawny, biorąc pod uwagę wystarczającą ilość pamięci, możesz wyłączyć plik wymiany; tylko upewnij się, że nie zabraknie ci pamięci.
Tamara Wijsman
1
@JoePhilllips - Nie, najprościej mówiąc, jeśli pamięć danych + pamięć programu przekracza pamięć systemową bez pliku stronicowania, wówczas przestrzeń dostępna dla programów jest zmniejszana, aby zrobić miejsce na dane, ponieważ programy można zawsze pobrać ponownie z oryginalnych plików programów. Jeśli więc masz 8 GB pamięci, 6 GB danych i 4 GB aplikacji, Twój system operacyjny ma tylko 2 GB do współdzielenia między tymi 4 GB programów. Ciągle czytałby kod i szarpał dysk. Gdyby w rzeczywistości potrzebne były tylko 4 GB danych, a plik strony 2 GB pozwalałby zamienić resztę, system operacyjny byłby w stanie wykorzystać pozostałe 4 GB dla programów, więc nie ma nic złego!
Mark Booth,
6

Powiedziałbym „ włącz” .

Bez względu na to, ile masz pamięci RAM, pojawią się scenariusze, gdy plik stronicowania będzie przynajmniej przydatny. Należy również zauważyć, że gdy istnieje plik stronicowania, większość środowiska wykonawczego Windows jest tam rozładowywana przez większość czasu. Powód? Chociaż jest potrzebny w pamięci, nie jest w tej chwili potrzebny . Umieszczenie go w pliku wymiany może wymagać dłuższego dostępu, ale pozostawia więcej wolnej pamięci RAM dla programów, których aktualnie używasz.

Powodem wzrostu wydajności jest to, że zmuszałeś cały system do załadowania do pamięci RAM, co jest znacznie szybsze. Sądzę jednak, że kiedy zaczniesz korzystać z wielu programów naraz, zwłaszcza takich, które zajmują dużo pamięci, takich jak Firefox i Photoshop, poprawa będzie natychmiastowa. *

Jednak możliwe jest, że nigdy nie napotkasz tego problemu po prostu ze względu na swoje nawyki komputerowe. Wiem, że gdybym próbował wyłączyć plik strony, nie podobałoby mi się to ani trochę. Więc jeśli naprawdę chcesz, spróbuj na chwilę to wyłączyć i zobacz, co się stanie, zawsze możesz ponownie włączyć później.

* „Ten akapit był spekulacją” / wyłączenie odpowiedzialności;)

Sean
źródło
Mam teraz 4 GB pamięci RAM od czasu ostatniej aktualizacji (chociaż Winxp widzi tylko około 3.5) i miałem plik strony wyłączony na kilka miesięcy bez żadnych problemów i tylko jeden lub dwa restarty. Używam dość ciężkich programów (w tym Photoshopa) bez żadnych problemów.
Joe Phillips
W takim przypadku możesz zignorować moją radę i zrobić to, co wydaje się odpowiednie dla Ciebie. Chociaż post Factor Mystic ma znacznie lepszy argument za tym samym wnioskiem, więc przynajmniej pamiętaj o tym, co mówi;)
Sean
Może ponownie go włączę i zobaczę, czy to pomoże. Po prostu nie mogę sobie wyobrazić, że ciągłe pisanie do wymiany jest dobre dla mojego dysku twardego.
Joe Phillips
5

Powiedziałbym „ włącz”, ale przenieś go na drugi dysk, najlepiej taki, który nie jest używany przez innego świnia we / wy. To często dawało mi większą szybkość niż całkowite wyłączenie pliku strony. Oczywiście maksymalizacja pamięci RAM to dobra optymalizacja równoległa.

romany
źródło
1
Jeśli to zrobisz, upewnij się, że przenosisz plik strony na inne urządzenie fizyczne. Przeniesienie go na inną partycję na tym samym urządzeniu jest stratą czasu, chyba że masz dysk twardy klasy przemysłowej (jak SCSI).
Paweł Polewicz
3

Wyłączam plik wymiany w 32-bitowych systemach Windows z 4 GB pamięci fizycznej. Włączenie pamięci wirtualnej nie spowoduje dodania kolejnych adresów do systemu, a wyłączenie jej oznacza, że nigdy nie będę musiał czekać na zamianę systemu Windows.

Kquinn
źródło
6
Jakie testy czasowe przeprowadziłeś i pod jakim obciążeniem?
Michael Kohne,
2
Brak twardych danych == wciąż subiektywna anegdota
Rumunia
4
Oczywiście jest to subiektywna anegdota - czy kiedykolwiek twierdziłem inaczej? Nie jestem pewien, dlaczego ludzie pytają o dane dotyczące czasu: nie uruchamiam serwerów w systemie Windows (chyba, że ​​muszę!), Uruchamiam na nim mój osobisty pulpit i maszynę do gier. A w przypadku takiej maszyny liczy się subiektywna reakcja.
kquinn
1
I przypuszczam, że nigdy nie prowadziłeś czegoś więcej niż proces. Nawet w systemie 32-bitowym w danym momencie można przydzielić ponad 4 GB fizycznej pamięci RAM. Możesz nawet przydzielić więcej niż 4 GB pamięci RAM do jednego procesu, używając interfejsów API pamięci wirtualnej do mapowania części przestrzeni adresowej.
Zaćmienie
1
Czy miałeś na myśli, że można przydzielić więcej niż 4 GB wirtualnej pamięci RAM? Gdy cała fizyczna pamięć RAM zostanie zużyta, zaczniesz otrzymywać błędy stronicowania z MMU, co spowoduje zamianę. Bez pliku stronicowania będzie to zamiana wszystkich wyrzuconych danych DLL / EXE. W przypadku pliku stronicowania byłoby to wszystko, co zapisano w pliku strony.
JBRWilkinson
3

Wyłączam plik wymiany w 32-bitowych systemach Windows z 4 GB pamięci fizycznej. Włączenie pamięci wirtualnej nie spowoduje dodania kolejnych adresów do systemu, a wyłączenie jej oznacza, że ​​nigdy nie będę musiał czekać na zamianę systemu Windows.

Nie. Przestrzeń adresowa jest następująca: każdy PROCES ma swoją 31-bitową przestrzeń adresową (dolne 2 GB), a jądro ma własną 31-bitową przestrzeń adresową (zawsze taka sama, niezależnie od tego, który proces posiada bieżący wątek). Daje to 2 GB * liczby procesów dostępnej przestrzeni adresowej trybu użytkownika. Bez zamiany przestrzeń trybu użytkownika jest ograniczona do wielkości pamięci fizycznej minus rozmiar pamięci jądra (zwykle około 200 MB). Oczywiście może istnieć sztuczny limit ilości pamięci wirtualnej, którą twój system może przydzielić, ale nie jestem ekspertem od zasad licencjonowania Microsoftu.

Należy również pamiętać, że wyłączenie wymiany nie musi koniecznie oznaczać, że nie wystąpią błędy stron powodujące dostęp do dysku. Plik wymiany nie jest jedynym plikiem, na który mapowana jest pamięć. Każdy plik wykonywalny (tj. .Exe lub .dll, z wyjątkiem sterowników trybu jądra) ma własną kopię zapasową dysku - mianowicie plik exe. Oczywiście strony, które zostały zmodyfikowane w pamięci, takie jak zapisywalne segmenty danych, IAT, a nawet segmenty kodu (na przykład w przypadku spakowanych plików wykonywalnych) wymagają oddzielnego swapowania, ale znaczna większość kodu / danych statycznych / zasobów nie potrzebujesz wymiany i ... można usunąć z pamięci, gdy w systemie brakuje zasobów. Gdy proces potrzebuje dostępu do takich danych, wystąpi błąd strony i dostęp do dysku, niezależnie od tego, czy zamiana jest włączona, czy nie.

kmode MZ
źródło
2

Sean Nyman powiedział wcześniej, że „szczególnie te wymagające dużej pamięci, jak Firefox i Photoshop, że poprawa nastąpi natychmiast”.

Chciałem tylko dodać to w Firefoksie, jeśli wpiszesz about:configw pasku adresu, aby przejść do zaawansowanych ustawień w Firefoksie, możesz dodać nowy ciąg znaków browser.cache.disk.enablei ustawić wartość logiczną na, falsea to zmusi Firefoksa do buforowania tylko pamięci RAM. Możesz również dodać ciąg browser.cache.disk.capacityi określić wartość, aby kontrolować, ile miejsca w pamięci RAM Firefox wykorzysta na pamięć podręczną przeglądarki. Mam nadzieję, że to pomoże. Mój zestaw ma pamięć podręczną w pamięci RAM, a Firefox jest zawsze super szybki.

Mam również dysk SSD na dysk systemowy w tym laptopie z dyskiem obrotowym 500 GB we wnęce dodatkowej do przechowywania i ustawiam foldery TMP, TEMP i tymczasowe pliki internetowe, aby wskazywały na dysk obrotowy w systemie Windows 7 Pro, wraz z przeniesieniem pliku pagefile.sys na dysk obrotowy w D: i mój system działa bardzo szybko jak błyskawica. I tak mam 4 GB pamięci RAM, więc nie sądzę, że Windows 7 nawet często korzysta z pliku stronicowania, ale jaka szkoda jest pozostawienie go włączonego?

ojosch
źródło
Bez względu na to, ile masz pamięci, system Windows z jakiegoś powodu lubi korzystać z pliku strony
Joe Phillips
0

Wyłączenie pliku wymiany jest być może najbardziej radykalnym usprawnieniem, którego można użyć do zwiększenia wydajności komputera. W typowym scenariuszu większość laptopów używa fizycznych magnetycznych dysków twardych z ruchomymi częściami. Te dyski są bardzo wolne w porównaniu do szybkości pamięci w komputerze. Więc jeśli masz ram, aby zmusić okna, by pozostały „w granicach swoich możliwości” i nigdy nie zapisywały się na dysk, zwolni to tylko wtedy, gdy będzie musiało uderzyć w dysk dla pliku, który nie jest jeszcze w pamięci. Wszystko w pamięci będzie działać znacznie szybciej. Chodzi o buforowanie całego systemu operacyjnego, aby odczytywał lub zapisywał na dysku fizycznym tylko wtedy, gdy potrzebuje czegoś, czego nie ma już w pamięci.

Odczyt / zapis RAM odbywa się w nanosekundach w porównaniu do milisekund w fizycznych dyskach magnetycznych.

Teraz należy wziąć pod uwagę, że nowe opcje plików wymiany stają się praktyczne. Jeśli użyjesz dysku SSD lub pojawi się okno, w którym umieścisz plik wymiany na karcie SD, zauważysz również znaczny wzrost wydajności.

Tylko moje 0,02 $

Axxmasterr
źródło
3
Wyłączenie wymiany nie oznacza, że ​​wszystko pozostanie w pamięci. Oznacza to, że to, co zostanie wypłukane z pamięci, musi zostać wczytane z pierwotnej lokalizacji na dysku, gdy jest potrzebne. Oznacza to, że twój system będzie wolniejszy. Zobacz post SF, który zamieszczam w mojej odpowiedzi.
Factor Mystic
3
Właśnie dlatego optymalizujesz go, aby nigdy nie musiał uderzać w dysk. Zrobiłem to już wcześniej i to działa.
Axxmasterr