1

Наше приложение имеет дело с большими файлами, скажем, 2 ГБ, и принято считать, что пользователям нужен объем данных RAM 10X. У разработчиков есть хорошо продуманные машины, но некоторые пользователи видят ужасную производительность, которую мы приписываем их гораздо более низкой ОЗУ, но не можем категорически доказать или измерить.

Есть ли способ на Windows, Linux, Mac «спрятать» оперативную память от ОС, не выключая ее. Идеально во время выполнения т.е. не BIOS? Или даже утилиту, которая сожрет запрошенный объем оперативной памяти и предотвратит использование другими приложениями?

Наше приложение также предъявляет высокие требования к графическим процессорам через OpenGL, что делает виртуальные машины непростым вариантом. Я знаю, что Parallels и VirtualBox просто не поддерживают используемую нами версию OpenGL, другие могут, но иногда стоят дорого.

3 ответа3

2

Есть.

В Linux используйте параметр командной строки ядра mem= . Добавьте эту опцию в командную строку ядра в GRUB. Ссылка.

В Windows есть загрузочные переключатели /BURNMEMORY и /TRUNCATEMEMORY . Используйте bcdedit чтобы добавить эти ключи или ссылку . В Windows Vista и 7 F10 открывает экран предварительной загрузки, где вы можете добавить его только для этого сеанса, не зная, как это работает с Windows 10. Используйте опцию BCDEdit, если она недоступна. Еще одна ссылка .

1

Вычтите некоторую доступную память, создав оперативную память, которая не будет налагать дополнительную нагрузку цикла ЦП на виртуальную машину.

Ramdrives, или ramdisk, обсуждаются здесь для Windows, Linux и MacOS.

Для Windows одно приложение с открытым исходным кодом - ImDisk, но есть много других вариантов.

Linux включает в себя tmpfs, но у вас также есть несколько других опций, таких как использование mem в качестве опции командной строки в ядре, как отмечено в комментариях ниже от Austin Hemmelgarn.

Для MacOS вам даже не нужно создавать виртуальный диск для ограничения памяти; вместо этого, согласно вышеупомянутой ссылке, сделайте

hdiutil attach -nomount ram://1165430 /dev/disk4
-1

Другая идея: вы можете настроить виртуальную машину с любым объемом оперативной памяти и запустить приложение, чтобы посмотреть, как оно себя ведет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .