- PVSM.RU - https://www.pvsm.ru -
Не секрет, что 32 битные операционные системы не позволяют адресовать более 4Гб оперативной памяти. Сейчас я вам хочу рассказать как это ограничение можно косвенно обойти в виртуальной среде, где есть полноценный доступ к хостовой операционной системе.
Собственно, цель достаточно ясна – это позволить гостевой x32 операционной системе использовать помимо «честных» 4Гб оперативной памяти еще какое-то количество, которое можно безболезненно выделить из доступной.
Для начала опишу краткий план достижения цели, а потом рассмотрим детали и реализацию. Но сразу оговорюсь, что данный способ, конечно же, не позволит операционной системе «увидеть» больше памяти, чем она может это себе позволить, но вот использовать ее незаметно для себя она будет.
Исходные данные:
Дополнительную оперативную память будем «выделять» необычным способом, для этого создадим vmdk диск и расположим его в оперативной памяти хост системы. Созданный диск подключим к гостевой системе. Для начала полноценного использования дополнительной оперативной памяти останется только переместить на этот диск файл подкачки. Кроме переноса файла подкачки можно перенастроить некоторые программы на хранение своих кэшей или временных файлов в этой «оперативной памяти», но это уже зависит от ее объема.
Интересный факт: если vmdk диск был сделан не preallocated (т.е. «резиновый»), а файл подкачки был настроен так, как описано выше, то есть максимального и фиксированного размера, то, несмотря на то, что файл подкачки займет все пространство vmdk диска, в хосте этот vmdk файл будет занимать места почти так же, как и до переноса на него файла подкачки. Естественно, это не может не порадовать, так как гостевая система будет использовать дополнительную оперативную память по мере необходимости, правда, только в сторону увеличения.
/etc/fstab
нужно добавить, такую строку:
tmpfs /run/shm tmpfs size=8G 0 0
/run/shm
с именем ramtemp.vmdk
. После создания отключаем кеширование записи на этом диске. c:ramtemp
. Да, да, в Windows так тоже можно делать, это когда вместо выбора буквы диска выбирается пункт «Подключить том как пустую NTFS папку». Подключение в папку делается, чтобы не плодить в системе лишние неиспользуемые «буквенные диски». Так же следует отключить индексирование этого диска в его свойствах. После этого виртуальную машину выключаем. /run/shm/ramtemp.vmdk
копируем в папку с целевой виртуальной машиной и переименовываем в ramtemp.vmdk.new
. Делается это для того, чтобы случайно не подключить этот диск к виртуальной машине и не начать использовать. Этот диск необходим всегда в своем первозданном виде, чтобы занимал свой минимальный объем. ramtemp.vmdk
в виртуальную память и запускать виртуальную машину. Например, он может быть таким:
#!/bin/sh
cp /home/vm/workstation/ramtemp.vmdk.new /run/shm/ramtemp.vmdk
vmplayer /home/vm/workstation/workstation.vmx
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
и меняем путь к файлу подкачки на c:ramtemppagefile.sys
в параметре PagingFiles. После все сделанного выше нужно перезагрузить гостевую ОС. После выполнения всех шагов можно считать вашу виртуальную машину официально прокачанной.
Автор: BanderasPRO
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/virtualizatsiya/16274
Нажмите здесь для печати.