Jak využít veškerou RAM ve Windows: nejčastější situace a řešení. OS Windows nevidí celou RAM

Dobrý den všem. Před pěti lety jsem psal článek s názvem readyboost na windows xp a když jsem psal tento článek, myslel jsem si, že tato informace nebude relevantní, protože již existoval Windows 7, ve kterém readyboost funguje po vybalení z krabice, a vyšel ddr3 RAM , který se prodával levněji než předchozí paměťové desky. Ale k mému překvapení i nyní na stránku chodí z vyhledávačů asi 10 lidí denně, v tuto chvíli je článek zobrazen přibližně 80 000krát, což vychází v průměru na 42krát denně - což je poměrně hodně pro můj skromný web.

Otázkou je, proč jsem začal s nostalgií a mluvil o readyboost na xp? Je to jednoduché, dnes se podíváme na opačnou situaci, tj. readyboost se používá, když není dostatek RAM pro pohodlnou práci, a my se na to podíváme jak zajistit, aby více než 3,5 gigabajtů paměti RAM fungovalo ve Windows xp. Abych byl upřímný, je pro mě těžké modelovat a logicky vysvětlit situaci, ve které se vám tato dovednost může hodit (a ano, dnes tu bude spousta komentářů od autora a lyrických odboček, pokud vás moje „bla bla bla“, můžete se okamžitě podívat na snímky obrazovky.). Ale přišlo mi to vhod, když jsem měl v práci starou systémovou jednotku Dell s OEM Windows XP, která nešla přeinstalovat, no dobře, měl jsem 2GB RAM, což je na xp docela dost, ale pak jsem se hrabal po skladu , roztrhal staré systémové jednotky a voila už mám 6GB RAM. No, jak víte, systém jich viděl jen 3,5 GB a vše funguje v mých nečinných 2,5 GB RAM, což je špatné, tato myšlenka mi začala žrát mozek a jednoho dne mi zkušenější kolega poradil, jak to implementovat (z tohoto důvodu si na autorství nečiním žádné nároky) a technologie RAM disků nám v tom pomohou. Co je RAM disk? Všechno je docela jednoduché - jedná se o technologii, která vám umožní vytvořit oddíl v paměti s náhodným přístupem (RAM). A jak nám to pomůže využít zbytek paměti RAM? Ve vytvořeném oddílu vytvoříme odkládací soubor! Trochu více informací: když systém alokuje všechnu RAM, pak mohou být neprioritní procesy přesunuty na méně rychle efektivní pájku (swap soubor), naprostá většina je vytvořena na pevných discích, jejichž rychlost je mnohem nižší než RAM.

Abych vám ukázal implementaci této funkce, nainstaloval jsem Windows XP do virtuálního počítače (Virtual Box, možná někdy napíšu článek o tom, jak tento program používat) a měl jsem velké obavy, že to nemusí fungovat, ale vše fungovalo pokuta). Problém s výběrem programu se stal akutním (bylo nutné mít ho jednoduchý a zdarma) Našli jsme program VSuite Ram disk (Free Edition), funkcionalita bezplatné verze nám bohatě stačila.

No, pojďme bod po bodu, jinak jsem se nechal unést svým „bla bla bla“

- Nejprve potřebujeme stažení instalátor a nainstalujte, v instalaci není nic složitého, klikněte na další a máte hotovo.

– Spustíme program, viz hlavní okno programu, v poli „Velikost disku“ uveďte množství paměti, které systém nevyužil (virtuálnímu počítači jsem přidělil 4710 MB a systém použil 3,5 GB; ve výsledku , dostal jsem přesně 1024 MB nebo 1 GB; ve skutečnosti je to číslo, které uvedu já a já. P.s. Nechte alespoň 2 MB nevyužité (pro jistotu) a majitelé počítačů s integrovanými grafickými kartami, jejichž paměť je alokována z RAM, berte to prosím v úvahu!).

V poli „Drive Letter“ je uvedeno písmeno vytvářeného disku, pro zamezení jsem zvolil písmeno „R“ a v automatickém režimu nastaví první volné v abecedním pořadí.

V poli „Volume Label“ nastavte název sekce.

Klikněte na tlačítko „Přidat“ – máte hotovo! Chcete-li zkontrolovat výsledek, přejděte na „Tento počítač“ a uvidíte, že se taková sekce objeví.

Pokud vše fungovalo, nastavte odkládací soubor na vytvořený oddíl a smažte soubor na jiných oddílech. (Pro ty, kteří nevědí nebo si nepamatují, kde je nastaven stránkovací soubor „Vlastnosti systému\Upřesnit\Možnosti výkonu\Upřesnit“). A po restartu by mělo vše fungovat.

To je jasné.
Podíval jsem se na specifikaci procesoru mého starého počítače na webu Intel - píše se o tom:
Instrukční sada 32bitová
http://ark.intel.com/products/27438/Intel-Pentium-4-Processor-2_40-GHz-512K-Cache-533-MHz-FSB

Obecně jsem na toto téma četl více na internetu - došel jsem k závěru, že k tomu, aby Windows viděl a začal používat 4 GB RAM, nestačí pouze software. To znamená, že i serverové verze systému Windows, které mají plnohodnotné PAE (a instalují tam jakékoli záplaty), stále nebudou moci komunikovat s celou pamětí, pokud čipová sada na základní desce nemá další linky pro interakci s pamětí. Tito. Aby toto vše fungovalo, je kromě softwarové podpory potřeba i podpora hardwaru. Zde opět na příkladu mého starého počítače - má základní desku na čipsetu i945 - v návodu k základní desce je uvedeno, že lze osadit až 4 GB paměti. Ale ve skutečnosti, bez ohledu na to, co si vymyslíte, je stále nemožné použít všechny 4 GB. Dá se říci, že čipset je 32bitový a nebude schopen přijímat adresy větší než 2^32 (to jsou 4 GB), tzn. fyzicky v mikroobvodu není tolik buněk pro záznam adresy nebo čehokoliv, na desce není tolik linek... A jelikož celý společný adresní prostor (ukáže se 32bitový) jde nejen do RAM, ale i do všech zařízení - video, zvuk tam, všemožné ovladače atp. - pak určitá část paměti RAM zůstane bez adres a systém s nimi nemůže interagovat. Ukazuje se, že k využití všech 4 GB paměti na 32bitovém čipsetu nepotřebujete mít na desce nic jiného kromě procesoru, paměti a čipsetu – žádné další vybavení. Ale proč by pak mohl být takový systém potřeba? :-)
Ale například již na čipu G31 (zdá se) jsou další 4 řádky pro práci s pamětí, adresní prostor se zvětší na 2^(32+4) = 2^36, tedy až 64 GB (i když i zde Ve skutečnosti nebude výsledkem 64, ale 64 minus množství adresního prostoru, který zařízení zabere).

Obecně se nakonec ukazuje, že aby systém Windows mohl interagovat s celou pamětí, je to nutné
1. Chipset mat. Deska fyzicky umožňovala použití adresního prostoru většího než 32 bitů.
2. Chipset mat. Deska byla schopna provést „mapování paměti“ - to je, když jsou paměťovým buňkám s adresami obsazenými zařízením přiřazeny další volné adresy z prostoru nad prvních 32 bitů
3. Operační systém dokázal tuto funkci použít. desky (pokud tomu dobře rozumím, schopnost OS využívat tuto vlastnost základních desek se nazývá PAE - Physical Address Extensions).

No, závěr (proč to pro mnohé nefunguje) je můj závěr a možná se mýlím.
Tato oprava popsaná v článku je pouze třetí výše uvedená položka - software. Pokud ale deska fyzicky nemá další řádky a neví, jak udělat přesměrování paměti, tak nemůže nic vydělat.

Všichni uživatelé osobních počítačů se snaží zvýšit svou RAM. Pokud se chystáte nainstalovat další klíč, může to narušit vaše plány, protože počítač to prostě nevidí.Tak proč není v různých verzích Windows k dispozici všechna RAM?
Počítač neuvidí RAM z několika důvodů. Velkou roli může hrát velikost systému. Počítač s 32bitovým operačním systémem neuvidí více než 3 GB RAM, protože tak je navržen. Chcete-li tento problém vyřešit, musíte nainstalovat 64bitový operační systém.
Může nastat situace, že systém skutečně ukazuje množství RAM, které by měl mít, ale je k dispozici v menším množství paměti. To je vysvětleno skutečností, že paměť je vyhrazena pro vestavěnou grafickou kartu, ale pokud existuje diskrétní, nebude takový problém zjištěn. Ale stále stojí za to se o tom ujistit a zkontrolovat v systému BIOS, zda je povoleno nebo ne a kolik paměti aktuálně využívá.
Také pokud vyberete možnost, jako je „Maximální paměť“, nebudete ji moci plně využít. Můžete to zkontrolovat pomocí konfigurace systému.

Možné problémy

Pokud tento parametr není nalezen, měli byste aktualizovat BIOS. Existuje také možnost, že tato funkce nebyla implementována při výrobě základní desky. V tomto případě by nejlepší možností bylo vyměnit starou verzi za novější, která bude podporovat odemknutí RAM, aby využila více než 4 GB.

Překážkou může být i zastaralý hardware. Základní desky starší generace nemusí mít více než 4 GB. Chcete-li to provést, musíte se podívat na vlastnosti samotné základní desky a zjistit, jaké maximální množství paměti může podporovat.

Je také možné, že pokud je klíč nový, můžete zkusit nainstalovat RAM do různých slotů, což může problém vyřešit. Možná to přeuspořádání pomůže systému vidět je.
Pokud tyto metody nepomohly problém vyřešit, zvažte následující možnosti, které vám mohou pomoci.
Na vině může být i nesprávné nastavení BIOSu.

Povolit přerozdělení paměti

Zkontrolujte BIOS a zjistěte, zda je v jeho nastavení povoleno přerozdělení paměti. Pokud paměť přerozdělíte, může se její obrovské množství zpřístupnit systému Windows. Ten, kdo dodává zařízení, rozhodne, jak nazve funkci, která bude zodpovědná za redistribuci paměti. Může mít názvy jako rozšíření paměti, přerozdělení paměti nebo jiné podobné názvy. Ale také vyloučit skutečnost, že taková funkce, jako je redistribuce paměti, nemusí být na počítači k dispozici.

Změňte velikost video hardwaru AGP pomocí nastavení systému BIOS

Musíte se informovat o přidělené paměti speciálně pro video zařízení AGP. Systém sdílí tuto paměť s grafickým adaptérem, který se používá k zobrazení textur a renderů. Nastavení systému BIOS vám pomůže nakonfigurovat velikost vašeho grafického hardwaru. Jeho velikost je obvykle 32,64,128 nebo se nastavuje automaticky. Poté byste měli restartovat počítač a zkontrolovat množství paměti RAM.

Dnes budu hovořit o omezeních virtuálního adresového prostoru Windows a o tom, jak se vypořádat s chybami „Nedostatek paměti“, ke kterým dochází u 32bitových programů a her, když množství paměti, kterou používají, dosáhne 2 gigabajty. Zde je několik jednoduchých způsobů, jak obejít toto omezení a přinutit aplikace používat více než 2 GB paměti.

architektura x86

Všechny moderní desktopové procesory Intel nebo AMD(a nejen) jsou založeny x86 architektura, která byla poprvé implementována v procesorech Intel 8086 vyšlo v roce 1978. Až do Intel 80386 (i386) procesory byly 16bitové a mohly využívat pouze až 16 MB RAM. Vydáno v roce 1985 i386 zpracovatelé oceli 32bitový, což umožňuje oslovit až 4 GB RAM (až 64 GB v režimu PAE, ale aplikace mohou využít pouze 4 GB).

Je jasné, že v těch letech vypadaly 4 GB téměř nedosažitelně. Ale nic nestojí a postupem času se ukázalo, že to nestačí. V roce 2003 společnost AMD(ano, už ne Intel) ve své nové řadě procesorů Opteron implementoval rozšíření x86-64(jiné názvy: AMD64, Intel64, x64, EM64T). Toto rozšíření mělo řadu vylepšení: 64bitové hlavní registry, další registry a rozšíření adresního prostoru. Současná implementace umožňuje až 256 TB virtuální adresový prostor, s teoretickým maximem 16 EB (ExbiByte - 2 64 bajtů). Procesory Intel rozšíření podpory x86-64(AMD64) ze starších modelů Pentium 4 (Prescott a novější).

operační systémy x86 a x64

Použitelné pro OS Použitá notace (Operating Systems). x86(v běžné mluvě se často označuje jako x32) A x64 32bitové a 64bitové. Rozdíl je v tom, že x64 podporuje AMD64, takže je možné využít jeho předností, zatímco x86 jej nepodporuje (a nevyužívá). V praxi to přináší určité funkce a omezení.

  • 64bitový OS vyžaduje procesor s podporou AMD64(všechny moderní procesory od Intel nebo AMD)
  • 32bitový OS může běžet na procesoru s podporou AMD64 nebo bez ní (ale takový starověk je stále třeba najít)
  • 64bitové aplikace fungují pouze na 64bitovém OS
  • 32bitové aplikace pracovat naplno jak na x32, tak na x64 OS, ale nemohou využívat výhod AMD64

V současné době dochází k postupnému opouštění operačních systémů x86 ve prospěch x64. Například jsou vydány serverové verze systému Windows počínaje verzí 2008 R2 pouze 64bitový. Microsoft často vyhrožuje, že udělá totéž pro nové verze pro stolní počítače, ale zatím to neudělali.

Limity virtuální paměti ve Windows

Každá verze Windows má určité omezení o využití fyzické a virtuální paměti (lze zobrazit na odkazu). A pokud je omezení fyzické paměti spojeno spíše s licencováním, pak s omezeními virtuální všechno je trochu složitější.

Zajímá nás pouze virtuální paměť, protože aplikace interagují právě s ním. Aniž bychom zacházeli do přílišných podrobností, technologie virtuální paměti umožňuje, aby každý proces měl svou vlastní paměť – adresní prostor, který prakticky se nepřekrývá s adresovými prostory jiných procesů. To znamená, že aplikace „věří“, že paměť patří pouze jí a může dokonce využít více, než je dostupné množství fyzické RAM, a OS se stará o distribuci a koordinaci.

A tak pro 32bitové Windows je obecný limit virtuální paměti 4 GB (stejně jako u 32bitových procesorů). 64bitové mají limit 15 až 256 TB v závislosti na verzi. Každá edice Windows však rozděluje celkový adresní prostor na dva díly: uživatelský režim(uživatelský režim) – paměť dostupná pro aplikace a režimu jádra(režim jádra) – paměť využívaná systémem. A pokud aplikace x64 dostanou 8 – 128 GB, pak pro x32 jsou to pouze 2 GB (ve skutečnosti ~ 1,7-1,8 GB). Po dosažení tohoto limitu aplikace vyhodí chybu a bude ukončena, nebo jednoduše havaruje bez jakéhokoli varování.


Jak funguje paměť ve Windows, je podrobně popsáno v Mark Russinovich.

Funkce nastavení paměti 4GT

Pro Windows x86 existuje oficiální „berlička“, která to umožňuje přerozdělit virtuální paměť, která poskytuje aplikacím až 3 GB a zároveň snižuje systémový prostor na 1 GB. Jmenuje se to 4-gigabajtové ladění. Jak to vypadá, ukazuje následující schéma (vlevo - standardně, vpravo - pomocí 4GT):


Možnost je povolena následovně:

Pro Windows XP/2003– přidání klíče /3 GB v souboru Boot.ini


Pro Windows Vista/7/8- tým BCDEdit /set raiseuserva 3072 (Start> Standard (Start > Příslušenství), klikněte pravým tlačítkem na Příkazový řádek (Příkazový řádek) – Spustit jako administrátor(Spustit jako administrátor), zadejte a spusťte příkaz ).


Povolení této možnosti může vést k nesprávné činnosti některých ovladačů, programů nebo systému Windows jako celku.

Označte IMAGE_FILE_LARGE_ADDRESS_AWARE

Aplikace bude moci využívat více než 2 GB virtuálního adresového prostoru, pouze pokud je zkompilován s opcí IMAGE_FILE_LARGE_ADDRESS_AWARE. Všechny 64bitové aplikace mají tuto možnost standardně (to je jejich podstata), ale 32bitové aplikace ji mít mohou, ale také nemusí – vše záleží na programátorovi, který tuto možnost při kompilaci nastavil či nikoliv.

Tento příznak je to, co potřebujeme k tomu, aby 32bitová aplikace používala více než 2 GB paměti. Spuštění takové 32bitové aplikace na Windows x32 pomocí 4GT jí poskytne až 3 GB paměti (ve skutečnosti ~2,8 GB) a na Windows x64 všechny 4 GB.

Naštěstí nastavení tohoto příznaku pro žádný aplikace mohou být na vlastní pěst. Existuje několik způsobů, jak to udělat.

Než začneš ujisti se jaká je aktuálně aplikace, kterou chcete změnit ZAVŘENO.

Patch 4GB

Nejjednodušší způsob.

Chcete-li začít, stáhněte si program z webu autora nebo zde:

Po spuštění 4gb_patch.exe Otevře se standardní dialogové okno Otevřít soubor, kde je třeba zadat soubor .EXE, který se chystáte upravit.

Ihned po výběru souboru se objeví okno programu potvrzující úspěšnou operaci. Dále můžete změnit jiný soubor (kliknutím Další soubor) nebo zavřete program (kliknutím OK).

Mějte na paměti, že program žádná zpětná akce, tedy do složky s upraveným souborem uloží jeho záložní kopii s příponou .Záloha.

CFF Explorer

Pro ty, kteří přesně vědí, co dělají.

CFF Explorer– bezplatný a poměrně výkonný program pro práci s PE hlavičkami od autora Patch 4GB. Stáhnout si ho můžete z webu autora.

  1. Po instalaci a spuštění programu otevřete požadovaný .EXE soubor.
  2. Pojďme k bodu Záhlaví souboru.
  3. Klikněte do pravého dolního rohu tabulky, která se zobrazí (takto je tam uvedeno - Klikněte zde).
  4. V okně, které se otevře, zaškrtněte políčko vedle Aplikace zvládne > 2 GB adresního prostoru.
  5. Použít a uložit soubor.

Jak vidíte, program umožňuje upravovat další parametry, má velké množství nástrojů a dokonce i vestavěný disassembler.

Zvrátit akce je stejná, s tím rozdílem, že zaškrtneme odstranit.

EDITBIN.EXE

Malá užitečnost EDITBIN.EXE, který je součástí sady Microsoft Visual Studio.

Kroky jsou následující (spusťte z příkazového řádku):

Odhalit: EDITBIN.EXE /LARGEADDRESSAWARE name.exe

Dát pryč: EDITBIN.EXE /LARGEADDRESSAWARE:NO name.exe

Stejný parametr (/LARGEADDRESSAWARE) řídí využití paměti pro projekty sady Visual Studio.

Závěr

Shrneme-li výše uvedené – aby 32bitová aplikace využívala více než 2 GB paměti, musí být splněny následující: dvě podmínky.

Pokud programy zamrzají, hry se kazí nebo jsou videa na YouTube pomalá, je čas zkontrolovat využití paměti RAM. Možná systémové komponenty nemají dostatek místa pro ukládání a zpracování informací.

Jak zkontrolovat množství použité paměti?

Spusťte "Správce úloh". Přejděte na kartu „Výkon“ a klikněte na „Monitor zdrojů“.

Přejděte na kartu „Paměť“ a podívejte se na data.

Důvody nesprávného použití paměti RAM

Pokud systém Windows vidí pruh RAM, problém spočívá v následujících bodech:

  1. Nesprávná instalace operačního systému. Pro majitele PC se 4 GB RAM je vhodná 64bitová verze systému, protože 32bitová verze využívá maximálně 3,15 GB paměti.
  • Vestavěná grafická karta spotřebovává zdroje RAM dynamicky, nikoli pevně. To znamená, že pokud potřebuje určité množství paměti RAM, dostane ji.
  • Limit základní desky. Všechny základní desky mají určitý počet slotů pro paměti RAM. Pokud je na něm volný, neznamená to, že základní deska bude moci použít další držák.
  • Stará verze systému BIOS, která nemá možnost získat úplný přístup ke všem prostředkům.
  • Mechanická porucha slotu nebo samotné RAM karty. Pokud máte možnost lamely prohodit, udělejte to. Funkčnost RAM lze také zkontrolovat pomocí programu Memtest86+.

Jak nastavit maximální využití RAM?

Aby byla RAM plně využita, vyplatí se provést řadu jednoduchých kroků. Spusťte "Správce úloh". Klikněte na „Soubor“, „Nová úloha (Spustit)“.

Zadejte „msconfig“ a klikněte na „OK“.