Есть ли где-нибудь диалог команд или настроек, в котором будет указан размер виртуального адресного пространства, выделенного Windows для приложений пользовательского режима?
1 ответ
Насколько я знаю, нет. Но вы можете определить это логически. Каждое приложение пользовательского режима имеет адресное пространство 2 ^ 32 ячейки, которое составляет 1 байт на ячейку памяти и строки 4 Гига = 4 гигабайта, для 32-разрядной ОС. В 64-разрядной ОС теоретически это пространство составляет 2 ^ 64 ячейки, но сегодняшнее использование не это большое, 40 бит, если я не ошибаюсь. Это пространство для самого приложения, для программного кода и области стека. Что касается кучи, то оно в основном ограничено пространством виртуальной памяти системы, которое, конечно, может достигать емкости жесткого диска.
Вы можете проверить пространство виртуальной машины в Свойства компьютера -> вкладка «Дополнительно». А также вы можете наблюдать это в диспетчере задач.
В качестве примера одним из моих применений был расчет серии Моррис. Я настроил размер виртуальной машины на 1 ТБ, разместив файл pagefile.sys на диске размером 1 ТБ. Приложение запускалось из-за использования памяти размером 1 КБ после того, как строковая переменная стала длиннее 1 ТБ, и это было самое дальнее, что я мог сделать с этим конкретным кодированием.