Przeniesienie pliku strony do pamięci RAM jest absurdalnym pomysłem. Po prostu wyłącz go i zwiększ ilość pamięci RAM. :)
No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.
Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).
Zarządzanie pamięcią jest obsługiwane przez procesor i to, czy plik stronicowania jest włączony czy wyłączony, nie stanowi żadnej różnicy w sposobie traktowania stron. Jest przezroczysty dla systemu Windows.
Priorytet strony nie zmienia się, strony zostaną odrzucone tak samo. Pliki stron są wykorzystywane przez procesor jako pamięć pomocniczą, a nie system operacyjny. To nic więcej niż pamięć podręczna drugiego poziomu, gdy skończy się poziom pierwszy (RAM).
Szybki i bardzo brudny przykład :, mój komputer ma 16 GB pamięci RAM i nie ma pliku stronicowania. 5 minut temu z 13 GB w trybie gotowości i tylko 2 GB za darmo, załadowałem Fallout 4. Strony o niskim priorytecie zostały odrzucone podczas ładowania Fallouta.
Na marginesie, blog Technet z 2008 r. Na temat przekraczania limitów pamięci systemu Windows jest bardzo mylący - powiedziałbym, że do złudzenia.
https://i.stack.imgur.com/wXkmi.png
Mam również wątpliwości, czy nawet Mark to napisał, ale mam nadzieję, że nie, ponieważ zmieniłoby to moje spojrzenie na niego .....
Fwiw w artykule są dziury, których jestem zdumiony, nikt nie wybrał biorąc pod uwagę, jak często ten blog był odsyłany
- Plik strony i jego lokalizacja są obsługiwane przez system Windows, pułapki dostępu do pamięci do lokalizacji, które zostały przeniesione na dysk, zostałyby przechwycone przez procesor, ale przekazane do systemu operacyjnego w celu pobrania strony z dysku i załadowania jej.
W każdym razie tutaj jest jeden nie tak niejasny opis:
Windows nie może osiągnąć wyższych adresów niż CPU - nie jest to możliwe.
Bez względu na to, jaki system operacyjny jest w stanie go nadal ograniczać sprzętem, na którym działa .. ponieważ system operacyjny to tak naprawdę sam procesor (rejestry wewnętrzne).
OK, więc plik stronicowania jest obszarem na dysku twardym, który CPU wykorzystuje do rozszerzonej fizycznej przestrzeni adresowej, gdy nie może fizycznie ani architektonicznie użyć więcej pamięci RAM.
Na przykład w 32-bitowej architekturze podzielonej na segmenty x86 istnieją dwa 2 GB segmenty pamięci RAM.
Jeden jest przypisany do jądra. Pozostałe 2 GB służy do trybu użytkownika. To cała pamięć RAM, którą procesor może wykorzystać z 32 pinami DRAM, ale proces 32-bitowy ma 4 GB, więc co robić. Na szczęście procesor może użyć dodatkowej pamięci AKA jako dysku twardego do przechowywania dodatkowych 2 GB stron. Ponieważ ma wewnętrzne rejestry
Fizyczne lokalizacje, w których wirtualne strony, do których odwołuje się proces, nie muszą być przechowywane w pamięci RAM. Ale są one gdzieś przechowywane przez CPU.
Procesor nie może dać całej aplikacji 4 GB pamięci RAM, ale może nadać jej 4 GB adresu, używając dysku twardego jako dodatkowej pamięci podręcznej (czyli tak naprawdę dysku twardego jest naprawdę)
Strony są przenoszone i opuszczane z pamięci RAM za pośrednictwem wewnętrznego mechanizmu stronicowania, ale to nie to samo co plik stronicowania. Stronicowanie zawsze występuje ...
Podsumowanie nie jest tak skomplikowane. Przez ostatnie 15 lat wielu użytkowników końcowych sprawiało wrażenie, że plik stronicowania jest integralną częścią systemu operacyjnego, ale tak nie jest. Nigdy tak nie było. To nieporozumienie jest częściowo podsycane przez korporacje takie jak Intel i Microsoft.
Pamięć RAM jest szybkim urządzeniem pamięci masowej, dysk twardy jest wolniejszym urządzeniem pamięci masowej, więc zasadniczo pamięć RAM ma pamięć podręczną poziomu 1, a dysk twardy - poziom 2 (pomijając pamięć podręczną procesora dla tej analogii). Oba mogą być dostępne przez CPU.
Jeśli procesor nie ma wystarczającej ilości pamięci RAM do zapisania potrzebnych stron, dysk twardy można wykorzystać jako przepełnienie. Jeśli jest dużo pamięci RAM, PF jest zbędny.
Do Core 2 procesory Intel miały 32-pinową magistralę DRAM i 32 rejestry, co oznacza, że procesor miał dostęp do 4 GB pamięci RAM i 4 GB miejsca na dysku twardym (plik stronicowania). Jest to architektoniczne ograniczenie sprzętowe, a nie Windows.
Suma dostępna dla procesów wyniosła 3,5 GB, ponieważ tabela stron zajmuje 512 MB. Dlatego 3,5 GB pojawia się w systemie Windows z procesorami Intel (do Core 2). Dodaj GPU, a nawet mniej jest dostępnych.
Xeon mógł uzyskać dostęp do łącznie 32 GB pamięci RAM, 64 GB przestrzeni fizycznej z dołączonym dyskiem twardym (ponownie plik stronicowania). ( To ^ obejmuje PAE, -więcej w przypadku dodania linków ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
Trzecie zrzuty ekranu:
Aplikacja System V Interfejs binarny Procesor architektury AMD64 Suplement Wersja robocza Wersja 0.99.7
Zamierzam nadal poprawiać tę odpowiedź i dodawać materiały źródłowe i odpowiednie informacje. Chciałbym osiągnąć równowagę między niewystarczającą ilością informacji a zbyt dużą ilością informacji technicznych. Sugestie są mile widziane. Proszę nie głosować tylko dlatego, że może nie być tak dobrze napisane.