Jak mogę włączyć PAE w systemie Windows 7 (32-bitowym), aby obsługiwał ponad 3,5 GB pamięci RAM?

37

Wiem, że 32-bitowy system Windows XP można skonfigurować za pomocą PAE , aby obsługiwał ponad 3,5 GB pamięci RAM. Czy istnieje dobry poradnik, jak to zrobić w 32-bitowym systemie Windows 7?

Dlaczego nie używam po prostu 64-bitowego systemu Windows 7: Oprogramowanie do mojego połączenia z Internetem (telefon komórkowy jako modem) działa tylko w środowiskach 32-bitowych.

Niphoet
źródło
O ile nie używasz aplikacji specjalnie zaprojektowanych do korzystania z 36-bitowych rozszerzeń PAE w CPU i API AWE, absolutnie NIE ma sensu używać przełącznika PAE.
17
Molly: Właściwie PAE ma sens nawet w przypadku aplikacji, które nie są świadome adresowania 36-bitowego. Mimo że każda aplikacja ma dostęp tylko do 2 GB pamięci, możesz uruchamiać wiele aplikacji, każda z własną 2 GB.
davr
@ Molly7244 AWE i PAE nie mają ze sobą nic wspólnego. I jest sens używania PAE bez rozszerzonej pamięci RAM, a to w celu umożliwienia sprzętowej ochrony przed niewykonaniem. Na procesorze x86 nie ma NX bez PAE.
Jamie Hanrahan,
@JamieHanrahan AWE używa PAE.
ctrl-alt-delor
@ ctrl-alt-delor Przepraszamy, ale to oczywiste nieporozumienie, ponieważ AWE działa na 32-bitowych systemach Windows, które nie mają włączonego PAE. Heck, AWE działa nawet na systemach, w których PAE nie jest nawet opcją (x64, ARM, Itanium - te procesory nie obsługują PAE). Prawdą jest, że w 32-bitowym systemie Windows x86 bez włączonego PAE aplikacja obsługująca AWE nie znajdzie dużo pamięci RAM, w której można by otworzyć „okna”, ale będzie działać w ramach dostępnej pamięci RAM. AWE wcale nie zależy od PAE; to po prostu, że na x86 obsługa PAE + ponad 4 GB RAM zapewni więcej pamięci RAM dla AWE (i wszystkiego innego) do pracy.
Jamie Hanrahan,

Odpowiedzi:

24

Kilka lat temu grupa programistów wydała łatkę na jądro dla systemu Windows 7, która pozwala na użycie ponad 4 GB pamięci RAM w systemie Windows 7. Ostatnio, ponieważ niektóre skanery antywirusowe wykryły poprawkę jako fałszywie dodatnią , pobieranie było usunięty ze strony. Na szczęście zapisałem kopię poprawki (która używa jądra systemu Windows 7 RTM) i przesłałem ją na moją stronę tutaj (patrz opcja nr 1, gdy omawiam dwie metody łatania jądra systemu Windows). Ponadto autorzy opublikowali instrukcje dotyczące ręcznego łatania jądra .

Nawet jeśli masz system Windows 7 z dodatkiem SP1 (kompilacja 7601), możesz zainstalować poprawkę zawierającą jądro 7600. Jest tak, ponieważ domyślne jądro nie jest modyfikowane; nowy jest kopiowany do twojego folderu systemowego i dodawana jest dodatkowa opcja menu rozruchu, aby uruchomić Windows z nowym, poprawionym jądrem zamiast starszego. Chociaż nie znalazłem żadnych problemów z uruchomionym Windows 7 SP1 ze starszym jądrem, jeśli chcesz użyć kompilacji 7601 z ntkrnlpa.exe, musisz ręcznie załatać jądro (patrz link powyżej).


Łatka zasadniczo modyfikuje jądro systemu Windows 7, aby bardziej przypominało Windows Server 2003 Datacenter Edition, który jest kompatybilny z maksymalnie 8 GB pamięci RAM w trybie 32-bitowym. Pozwala to rozszerzyć PAE do 8 GB pamięci RAM w systemie Windows 7 32-bit. Aby uzyskać więcej informacji o tym, dlaczego firma Microsoft wdrożyła to ograniczenie techniczne, zobacz Pamięć licencjonowana w 32-bitowym systemie Windows Vista (wymagana jest obsługa JavaScript w www.geoffchappell.com ).

Jak wspomniano powyżej, należy pamiętać, że poszczególne procesy będą nadal ograniczone do 4 GB, nawet jeśli system będzie mógł uzyskać dostęp do więcej ... Chociaż gdybyś miał 8 GB pamięci RAM, to nadal będziesz miał jeszcze 4 GB na inne procesy;)


Dla osób zainteresowanych aspektami technicznymi dzieje się tak z powodu odwzorowania pamięci wejścia / wyjścia (w skrócie MMIO). Umożliwia to procesorowi dostęp zarówno do urządzeń peryferyjnych, jak i pamięci RAM za pośrednictwem samej magistrali adresowej. Zwykle odbywa się to przez adresy pamięci wyższego rzędu, aby uniknąć konfliktów adresów niższego rzędu. Doprowadziło to jednak do powstania powszechnie znanej bariery pamięci 3 GB we wszystkich wariantach konsumenckich 32-bitowych systemów operacyjnych Windows.

Przełom
źródło
4
Ostrzeżenie: ten pierwszy link zawiera trochę treści NSFW.
Jon Seigel
Ostrzeżenie dodane do odpowiedzi, dziękuję. Nawet tego nie zauważyłem: S
Przełom
Wszelkie informacje na temat tego, czy działa to dobrze, czy jest zawodne?
Mark Gibaud,
1
@Mark Gibaud Korzystałem z niego przez rok bez żadnych problemów. Miałem tylko 4 GB pamięci RAM, ale przynajmniej byłem w stanie wykorzystać całość. Zauważ, że łatka modyfikuje jądro systemu Windows, więc utworzę kopię zapasową przed załataniem systemu. To powiedziawszy, nigdy nie miałem problemu (kilkakrotnie zastosowałem łatkę zarówno na moim komputerze stacjonarnym, jak i laptopie, nawet po zainstalowaniu wszystkiego).
Przełom
1
@Breakthrough: To jest niesamowite. Czy wiesz, jak zdobyć XP, aby zrobił coś podobnego?
Mehrdad
17

Ten artykuł w witrynie MSDN firmy Microsoft pokazuje limity pamięci dla wersji systemu Windows, a 32-bitowy system Windows 7 jest wymieniony jako limit 4 GB.

Kiedyś mógłeś używać PAE, aby zobaczyć więcej niż 4 GB pamięci RAM w systemie Windows XP, ale ta opcja była wyłączona w dodatku Service Pack 2 .

Powodem było to, że większość kierowców nie była świadoma PAE i wyrzuciła swoje zabawki z wózka, jeśli skończyłyby w pamięci powyżej granicy 4 GB.

Jeśli użyjesz /PAEteraz przełącznika w systemie Windows XP, udostępnisz funkcję DEP , ale nie zobaczysz więcej niż 4 GB pamięci RAM.

Ten limit 4 GB nadal obowiązuje w 32-bitowym systemie Windows 7. Jeśli chcesz zobaczyć więcej niż 4 GB pamięci RAM, musisz użyć 64-bitowej wersji systemu Windows.

(Ta opcja użycia PAE do zobaczenia więcej niż 4 GB pamięci RAM jest nadal dostępna w 32-bitowych wersjach systemu Windows na serwerach, co, jak zakładam, sprowadza się do lepszej jakości sterowników oczekiwanych dla rodzaju sprzętu, na którym działasz Windows Server. )

Dave Webb
źródło
2
Myślę, że obsługa serwera jest mniejsza z powodu lepszej jakości sterowników, a bardziej z tego powodu, że administratorzy systemu będą w stanie poradzić sobie z sytuacją znacznie lepiej niż mama.
Will Eddins,
1
„Powodem było to, że większość kierowców nie była świadoma PAE i wyrzuciła swoje zabawki z wózka, jeśli skończyły w pamięci powyżej granicy 4 GB”. - Czy dotyczy to tak samo Windows 7 32bit (przy użyciu hackowania jądra)?
Mark Gibaud,
2
Znakomity Mark Russinovich wyjaśnia uzasadnienie limitów pamięci klienta i serwera w systemie Windows w serii blogów „Przekraczanie granic systemu Windows”. blogs.technet.com/b/markrussinovich/archive/2008/07/21/…
ElvisFanTCB
Czy limit Windows 7 4 GB obejmuje sprzęt. Skonfigurowałem PAE i dostaję około 3,15 GB. Czy jest około 1 GB (potencjalnego) sprzętu zużywającego resztę, a system MS-Windows blokuje użycie ponad 4 GB. Na Gnu / Linux otrzymuję wszystkie 4 GB.
ctrl-alt-delor
@richard - limit adresu obejmuje przestrzeń adresową potrzebną dla innego sprzętu, najbardziej znanych kart graficznych, które mogą zużyć dużo 4 GB.
Dave Webb
3

Zgodnie z artykułem MSDN Rozszerzenie adresu fizycznego :

System Windows automatycznie włącza funkcję PAE, jeśli funkcja DEP jest włączona na komputerze obsługującym funkcję DEP obsługującą sprzęt lub jeśli komputer jest skonfigurowany do dodawania na gorąco urządzeń pamięci w zakresach pamięci przekraczających 4 GB. Jeśli komputer nie obsługuje sprzętowej funkcji DEP lub nie jest skonfigurowany do dodawania na gorąco urządzeń pamięci w zakresach pamięci przekraczających 4 GB, PAE musi zostać wyraźnie włączone.

Aby jawnie włączyć PAE, użyj następującej komendy BCDEdit / set, aby ustawić opcję wpisu rozruchu pae:

bcdedit /set [{ID}] pae ForceEnable

JEŻELI funkcja DEP jest włączona, PAE nie można wyłączyć. Użyj następujących poleceń BCDEdit / set , aby wyłączyć DEP i PAE:

bcdedit /set [{ID}] nx AlwaysOff
bcdedit /set [{ID}] pae ForceDisable

Windows Server 2003 i Windows XP: Aby włączyć PAE, użyj przełącznika / PAE w pliku boot.ini . Aby wyłączyć PAE, użyj przełącznika / NOPAE . Aby wyłączyć funkcję DEP, użyj przełącznika / EXECUTE .

Der Hochstapler
źródło
2

PAE powinien być domyślnie włączony - system Windows już go używa wewnętrznie dla funkcji DEP / No-Execute .

Ale te instrukcje mogą pomóc, jeśli system Windows ponownie robi to samo.


Pamiętaj, że poszczególne procesy będą nadal ograniczone do 4 GB, nawet jeśli system może uzyskać dostęp do większej liczby.

grawitacja
źródło
Ten link jest nieprawidłowy. Vista w wersji 32-bitowej używa tylko PAE dla DEP i nie pozwala zobaczyć więcej niż 4 GB pamięci RAM. support.microsoft.com/kb/929605
Dave Webb
Ale Niphoet (pytający) korzysta z systemu Windows 7, który ma limit 8 GB (Home Basic; jeszcze więcej w innych wersjach).
grawity
@grawity: tak, to 8 GB, jeśli używasz 64-bitowego systemu Windows 7. Limit nadal wynosi 4 GB w 32-bitowym systemie Windows 7.
Joshua
2

Jeśli Twój system może to obsługiwać, możesz użyć wirtualizacji, aby umożliwić dostęp do 32-bitowych sterowników telefonu.

Byłaby to nieco bardziej skomplikowana konfiguracja, ale można skonfigurować maszynę wirtualną, która nawiązała połączenie i udostępniła połączenie internetowe hostowi, w ten sposób zyskujesz korzyści z wersji 64-bitowej, a także możesz korzystać ze starszych sterowników.

VMware Workstation ( wersja komercyjna), VirtualBox (bezpłatny, open source) i Windows Virtual PC (bezpłatny) mogą wszystkie trasy urządzeń USB bezpośrednio na maszynę wirtualną. Po prostu zainstaluj 32-bitowy system operacyjny (nawet XP, jeśli chcesz), daj mu marginalną ilość pamięci RAM i możesz zrobić to, czego potrzebujesz. Zrobiłem to, aby załadować starsze aplikacje, które nie obsługiwały systemu Windows 7, a mój brat faktycznie załadował swoją starą kamerę internetową Creative (bez sterowników 64-bitowych) i używał Skype'a przez maszynę wirtualną.

Jozuego
źródło
Ma system Windows 7 ... zupełnie zapomniałeś wspomnieć o „trybie XP”, który jest nową funkcją bezpłatnej wirtualizacji zawartą w systemie Windows 7.
davr
Nie wspomniałem bezpośrednio o trybie XP, ponieważ nie powiedzieli, czy mieli 7 Professional lub Ultimate (jest niedostępny dla innych SKU) :)
Joshua
2

W systemie Windows 7 32 PAE nie zezwala na dostęp powyżej oznaczenia 4 GB. Szczegółowe informacje można znaleźć na stronie http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx .

Dla ludzi, którzy nalegają na 64-bitowe użycie - są pewne rzeczy, które nie działałyby w 64-bitowych środowiskach, które mogłyby skorzystać na zwiększeniu wydajności z dysku RAM, który MUSI uzyskać dostęp do znaku powyżej 3,25 w środowisku 32-bitowym - w szczególności aplikacje na tej stronie często. Możesz także umieścić plik strony we wspomnianym ramdysku. Ponadto maszyna wirtualna jest świetna, jednak emulacja nigdy tak naprawdę nie działa tak dobrze jak prawdziwa - wszystko zależy od aplikacji i sposobu jej implementacji. Wciąż istnieje wiele urządzeń, które nie będą działać w 64-bitowym świecie i potrzebują dostępu w czasie rzeczywistym, aby działały dobrze (chociaż istnieją akceleratory, które pomagają w dostępie w czasie rzeczywistym, wciąż mogą powodować problemy).

Tak więc, choć wersja 64-bitowa jest technicznie lepsza, wersja 32-bitowa jest dziedzictwem, które odejdzie chwilę, i będzie wiele powodów, dla których ludzie chcieliby uzyskać dostęp do pamięci za pośrednictwem PAE.

PS: W odpowiedzi na ten post znajduje się odpowiedź, że umieszczenie pliku strony na dysku RAM nie ma sensu. Pozwól mi wyjaśnić. Jeśli system ma 4 GB pamięci RAM i utworzysz 2 GB pamięci RAM i umieścisz tam plik strony, to tak, ta konfiguracja nie ma sensu. Jeśli jednak system ma 8 GB pamięci RAM i utworzysz 4 GB pamięci RAM (uzyskując dostęp do dodatkowej pamięci, do której 32-bitowy system Windows nie może uzyskać) i umieścisz plik strony (i folder tymczasowy, a następnie włączysz funkcję „ReadyBoost” i dodasz inne często używane) pliki), tam tak, przyspieszenie jest bardzo znaczne. Odpowiedź brzmi „tak”, można uzyskać oprogramowanie, które pozwala tworzyć dyski RAM powyżej limitu 4 GB w systemach 32-bitowych.

Społeczność
źródło
5
Umieszczenie pliku strony na dysku RAM nie ma sensu.
ElvisFanTCB
Umieszczenie pliku strony na dysku RAM nie ma sensu tylko wtedy, gdy pamięć RAM jest normalnie dostępna w systemie, co nie jest przypadkiem.
Vojtěch Dohnal
2

NIE UŻYWAJ PATCH, jest to po prostu niemiecka wersja testowa systemu Windows, i zniszczy Twój rekord rozruchowy.

Właśnie spędziłem godzinę pobierania easybcd na inną maszynę, aby to naprawić.

Być ostrzeżonym!

Ste
źródło
„Łata” jest łatwa do zrobienia i nie potrzebujesz „easybcd”, aby naprawić rekordy rozruchowe :: naprawianie rekordu rozruchowego za pomocą bcdedit.exe jest dość proste: RTFM
Eddie B
1

Pytanie brzmi: „Jak włączyć PAE w systemie Windows 7 (32-bit), aby obsługiwać ponad 3,5 GB pamięci RAM”, a odpowiedzią jest wiersz polecenia „bcdedit / set [{ID}] pae ForceEnable”.

Ale prawdopodobnie warto na nowo sformułować pytanie, jak włączyć i móc korzystać z ponad 3,5 (lub 3,25) GB pamięci RAM w systemie 32-bitowym W7.

Próbowałem PAE na 2 różnych płytach głównych Desktop z identycznymi systemami: Intel® Desktop Board D945GNT z procesorem Intel® Pentium® D 3,4GHZ i ramą użytkową 3,00 GB oraz Intel® Desktop Board DG41WV z ramą Intel® E7500 2.93GHZ i 3,25 GB ramą . Obsługuje 64 bity i 4 GB pamięci RAM.

Dwa systemy włączyły PAE; następnie stosując procedurę wskazaną w http://www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7 zainstalowałem dysk Gavotte Ram i odzyskałem 16 MB pamięci RAM (nic) w pierwszym systemie, ale odzyskałem cały 775 MB nieużywany dla drugiego.

Tak więc na dysku RAM drugiego systemu przypisałem mu ruchomy plik Pagesys, od 16 MB do 700 MB, i ruchomy pageys od 16 MB do 3300 MB na partycji innego dysku fizycznego systemu.

Udowodniłem 2 fakty: 1. Systemy wolały plik wymiany Ram niż plik na dysku twardym. Widziałem, jak się porusza, rośnie i kurczy. 2. Benchmark z PC Pitstop (zdjęcie w załączniku http://www.pablomolina.net/bench700.png ) pokazuje wielką poprawę szybkości dysku systemowego, a system działa dość szybciej. Na ławce porównałem plik strony 700 MB na dysku RAM z plikiem strony 700 MB na innej partycji tego samego dysku systemowego.!

Musisz ustawić system, aby czyścił plik strony podczas zamykania za pomocą procedury Microsoft KB / 314834.

Dla mnie PAE ma sens w systemie 32-bitowym i działa. Nie wybiorę systemu 64-bitowego, ponieważ profesjonalnie korzystam z systemu Windows i zgromadziłem 450 programów przez lata, których instalacja zajmie mi miesiące.

Pablo Molina
źródło
1

Jeśli nie chcesz łatać plików, możesz użyć programu ładującego . Ten program ładujący można zainstalować w bieżącym systemie lub na pendrivie USB. Dzięki temu możesz łatwo przetestować go bez wpływu na system.

wprowadź opis zdjęcia tutaj

magicandre1981
źródło