Hlavní navigace

Pro více než 4 GB RAM nepotřebujete 64 bitů - je tu PAE

24. 3. 2009
Doba čtení: 5 minut

Sdílet

Drtivá většina uživatelů se svorně domnívá, že pro použití většího množství paměti je nutně potřeba 64bitový operační systém. Pokud uvažujete nad přidáním nějakého toho modulu navíc a váháte kvůli změně systému, můžeme vás uklidnit - více než 4 GB paměti využijete i s 32bitovým systémem. Je tu PAE.

Většina moderních procesorů dnes podporuje běh 64bitových aplikací a operačních systémů. Obvykle se také tvrdí, že pro adresaci více než 4 GB operační paměti je 64bitový systém dokonce nutností. To představuje pro část uživatelů nepříjemný problém, protože některé aplikace v 64bitové verzi neexistují a v systému je proto potřeba udržovat i 32bitové knihovny.

Máte 32 nebo 64bitový systém?

Ještě větší překážku však pro někoho představuje nutnost přeinstalovat celý operační systém, což přináší novou konfiguraci, strávený čas a nové ladění systému do podoby, která nám vyhovuje.

Existuje ale jedno přívětivé řešení, které umožní adresovat až 64 GB paměti na 32bitových systémech. Tímto řešením je PAE nebo-li Physical Address Extension.

Co to přesně je?

PAE je hardwarové rozšíření procesorů x86 a x86–64, které dovoluje adresovat více než 4 GB paměti. V Linuxu je možno díky této funkci používat až 64 GB paměti. To vše v běžném 32bitovém systému.

Kolik máte operační paměti?

  • méně než 1 GB
    6 %
  • 1 až 2 GB
    40 %
  • 3 až 4 GB
    40 %
  • 5 až 6 GB
    3 %
  • 7 až 8 GB
    7 %
  • více než 8 GB
    3 %

Pokud vás zajímají technické detaily, tak vězte, že PAE přidává k adresnímu prostoru další čtyři bity. Tím se zvýší délka adresy z 32 bitů na 36 bitů. Zatímco 232 dává 4 GB, 236 už dává 64 GB. Tato adresace dovoluje mapovat oněch 64 GB paměti do klasického 32 bitového adresního prostoru.

Jelikož se jedná o hardwarovou funkci, je překlad adres přímý a nevyžaduje stránkové tabulky. To však zároveň znamená, že PAE vyžaduje podporu ze strany procesoru, který musí rozšířené adresování podporovat.

Kdo PAE podporuje?

Podpora PAE se objevila poprvé u procesoru Pentium Pro, který se na trh dostal v roce 1995. Od té doby obsahují rozšířenou adresaci všechny procesory Intel, kromě jediné výjimky – 400 MHz varianty Pentia M.

Podpora u AMD se objevila s příchodem procesorů Athlon, tedy v roce 1999. Obecně tedy platí, že pokud váš procesor běží na více než 500 MHz, obsahuje také podporu PAE. Do starších strojů také zřejmě nikdo nebude cpát více než 4 GB paměti.

Všechny novější procesory, u kterých byste mohli uvažovat nad instalací více než 4 GB RAM a případným přechodem na 64 bitů, tedy jistě PAE podporují a můžete směle jeho podporu vyzkoušet.

Pokud chcete ověřit, zda váš konkrétní procesor podporuje zmiňovanou funkci, není nic jednoduššího:

$ grep pae /proc/cpuinfo
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl est tm2 ssse3 cx16 xtpr lahf_lm ida

Které operační systémy?

PAE samozřejmě vyžaduje také podporu na straně operačních systémů, ale tady obvykle nebývá problém. Podpora je součástí FreeBSD, Mac OS X, Solaris, MS Windows a samozřejmě Linuxu.

Zdaleka ne všechny systémy ale dokáží s PAE pracovat bez problémů a naadresovat celých 64 GB. FreeBSD od verzí 4.9, 5.1 a 6.x a novějších dokáže pracovat s PAE, některé ovladače ale na podporu nejsou připraveny a nebudou fungovat správně.

Jádro Mac OS X 10.5 Leopard je stále 32bitové, a tak je u něj podpora PAE nutností. S tímto operačním systémem můžete využít až 32 GB paměti. Solaris podporuje PAE od verze 7, ale řada ovladačů třetích stran není na PAE připravena a může způsobovat velké potíže v systému.

Podpora u MS Windows se liší dle různých verzí, nejvyšší varianty jako Enterprise nebo Datacenter Edition (2003 a 2008) jsou schopny adresovat až 64 GB paměti, nižší verze si ale poradí jen s 32 GB nebo dokonce jen 8 GB.

Nás bude ale určitě nejvíce zajímat Linux, který je na PAE připraven výborně a jeho podpora tohoto rozšíření je nejlepší z výše uvedených systémů. Navíc řada distributorů nabízí jádra s aktivovanou podporou PAE a aktivace proto není problémem.

Má PAE nějaké nevýhody?

Má a jsou dvě. První problém se týká principu adresace více než 4 GB paměti pomocí PAE. Jak už bylo zmíněno, vyšší paměť je mapována do standardního adresního prostoru. Z toho plyne, že jedna aplikace nedokáže využít více než 4 GB paměti. Z hlediska software jsou tedy stále vidět jen 4 GB paměti pro každý program.

Kdybychom tedy měli nějakou hodně náročnou aplikaci, která pro svůj provoz vyžaduje 8 GB paměti najednou, na 32bitovém systému s PAE máme smůlu a musíme stejně sáhnout po 64 bitech, kde toto omezení neexistuje. S takovou aplikací se ovšem běžný uživatel v praxi nikdy nesetká.

Druhým problémem je snížení výkonu operačního systému, které ale není nijak dramatické. Rozšířené stránkování sice znamená více režie, což se projeví na celkově nižším výkonu, ale jen velmi minimálně. Podle měření společnosti Red Hat [PDF] se průměrná ztráta pohybuje okolo 1 % výkonu a není nikdy vyšší než 10 %. Také Novell potvrzuje ztrátu jen několika procent.

Obě nevýhody jsou tedy poměrně nevýznamné v porovnání s tím, že počítač s PAE je schopen adresovat podstatně větší množství paměti a tím v praxi získá výkon díky méně častému swapování.

Jak to můžu použít?

Pokud máte pocit, že stojí za to PAE vyzkoušet, pak s chutí do toho. Potřebovat budete jen linuxové jádro s podporou „HIGHMEM“, což je právě PAE. Vše ověříte jediným příkazem:

$ grep HIGHMEM /boot/config-`uname -r`

Pokud se objeví řádek CONFIG_HIGHMEM=y, máte vyhráno a PAE používáte. Některé distribuce ale kvůli zpětné kompatibilitě dodávají jádro s deaktivovaným HIGHMEM rozšířením. Doporučuji hledat v repositářích jádro s přívlastkem -highmem nebo  -bigmem.

V případě některých základních desek je potřeba podporu PAE aktivovat ještě v BIOSu. Pokud nasadíte jádro s podporou HIGHMEM a aktivujete volbu v BIOSu, váš linuxový systém by měl vidět až 64 GB paměti, přestože je 32bitový.

root_podpora

Je PAE pro mě?

To je samozřejmě otázka. Pokud jste si pořídili nový počítač s velkým množstvím paměti a zvažujete, zda nasadit 32bitový či 64bitový operační systém, pak se rozhodně vyplatí uvažovat nad 64 bity. Pokud nemáte nějaký podstatný důvod proti, pak nemá příliš smysl zůstávat na polovině bitů. Navíc 64bitová adresace je z principu čistším řešením i s ohledem do budoucna.

Naopak pokud už 32bitový systém máte a nechce se vám kvůli přidané paměti absolvovat jeho reinstalaci, můžete vyzkoušet PAE. Paměť vám přibude jen s minimálním (a často žádným) zásahem do systému.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.