Използването на повече от 2GB памет за прилагането на 32-битова
Първо, малко теория за архитектурата на процесори и операционни системи, като тези фактори определят размера на наличната памет за приложения. Тези, които не се интересуват от теоретичната част, можете да пропуснете на описанието на проблема.
x86 архитектура
x86 и x64 операционни системи
Приложим за ОС (операционна система) се използва x86 нотация (разговорно често означени като x32) и 64. Това е 32-битова и 64-битова версия, съответно. Разликата между тях е, че подкрепата на x64 за AMD64 машини, които дават възможност да се възползват от нея, както x86 не го поддържа (и не се използва). На практика това осигурява определени функции и ограничения.
- 64-битова операционна система изисква процесор с AMD64 подкрепа (всички съвременни процесори от Intel или AMD)
- 32-битова операционна система може да работи като процесор с AMD64 подкрепа, и без него (но такива античността все още трябва да се намери)
- 64-битови приложения се изпълняват само на 64-битова операционна система
- 32-битови приложения да работят изцяло на x32 и x64 операционни системи, но ползите от AMD64 те не могат да използват
виртуалните граници на паметта в Windows
Всяка версия на Windows, има определени ограничения върху използването на физическа и виртуална памет (можете да видите линка). И ако физическата граница на паметта се дължи по-скоро на лицензионни ограничения с виртуалната малко по-сложно.
1.7-1.8 GB). При достигане на този лимит, приложението ще се появи съобщение за грешка и ще бъдат затворени, или просто "лети", без никакво предупреждение.
Tuning Memory функция 4GT
За Windows x86 съществуват длъжностно лице "патерица", която ви позволява да преразпределя виртуална памет, което позволява на приложенията до 3 GB, като същевременно намали система пространство до 1 GB. Тя се нарича 4-Gigabyte настройка. Както изглежда, за да се демонстрира на следната диаграма (в ляво - по подразбиране, в дясно - с използването на 4GT):
Вариант е включен, както следва:
За Windows Vista / 7/8 - екип Bcdedit / определени increaseuserva 3072 (Start> (Старт> аксесоари), щракнете с десния бутон върху Command Prompt (Command Prompt) - Стартиране като администратор (Run като администратор), въведете и изпълните командата).
Активирането на тази опция може да доведе до повреда на някои шофьори, софтуер или Windows като цяло.
IMAGE_FILE_LARGE_ADDRESS_AWARE флаг
Този флаг - е, че трябва да се направи заявка за 32 битов да използвате повече от 2 GB памет. Стартирането на този 32-битови приложения на Windows x32 с използването на 4GT му даде до 3 GB памет (в действителност,
2.8 GB), както и на всички Windows x64 4 GB.
За щастие, задайте този флаг за всяко приложение може да бъде себе си. Има няколко начина.
Преди да започнете, се уверете, че. че приложението, което искате да промените момента е затворен.
Най-лесният начин.
Изтеглете 4GB Patch (версия 1.0.0.1, 21 KB, Изтеглени 1881)
След като се започне 4gb_patch.exe отворен стандарт "Open File" диалоговия прозорец, където трябва да посочите .exe файла, който искате да промените.
Веднага след като се появи прозореца за избор на файл, потвърждаващ успешното функциониране. На следващо място, можете да промените друг файл (чрез натискане на друг файл), или затваряне на програмата (с натискане на OK).
Дръжте под формата, че заявлението не е обратно действие. така в папка променят файлове спестява резервно копие с разширение .Backup.
CFF Explorer
За тези, които знаят точно какво да правят.
- След като инсталирате и стартирате програмата, отворете съответното .EXE файл.
- Преминете към стъпка File Header.
- Ние кликнете в долния десен ъгъл на таблицата се появява (и е писано - Натиснете тук).
- В отворилия се прозорец настроен кърлежи App може да се справи> 2gb адресно пространство.
- Нанесете и запишете файла.
Обратен ефект - същото, с тази разлика, че ние премахваме от кърлеж.
EDITBIN.EXE
EDITBIN.EXE малка програма. които са включени Microsoft Visual Studio.
следното (от командния ред):
Подравняване: EDITBIN.EXE / LARGEADDRESSAWARE name.exe
Премахване: EDITBIN.EXE / LARGEADDRESSAWARE: NO name.exe
С помощта на същия параметър (/ LARGEADDRESSAWARE) се определя чрез използването на памет за Visual Studio проекти.
заключение
В обобщение - за прилагане на 32-битова да използвате повече от 2 GB памет, трябва да бъдат изпълнени две условия:
- Заявлението трябва да бъде инсталиран на Windows x64 (за предпочитане) или Windows x86 поддръжка за 4GT.
- Заявлението трябва да има IMAGE_FILE_LARGE_ADDRESS_AWARE флаг