Приложение не может получить доступ к более чем 4 ГБ на 64-битном процессоре

5513
alex

Я пытаюсь запустить программу с интенсивным использованием памяти, которая требует более 4 ГБ памяти. Я использую его на 64-битном процессоре, и у меня 16 ГБ ОЗУ (что мне тоже видно). Но программа вылетает. Поэтому я не могу использовать более 4 ГБ для одного процесса на 64-битном процессоре. Как мне решить эту проблему?

Изменить : Дело в том, что процессор 64-битный и ОС поддерживает 64-битный процессор. И я пытаюсь запустить код C, который требует много памяти, поскольку это код обработки видео. Но происходит сбой, когда требуемая память превышает 4 ГБ, хотя видно 16 ГБ ОЗУ.

Операционная система - Windows Server 2003.

3
Какая операционная система? Какой компилятор? Harriv 14 лет назад 2
Более подробно, пожалуйста, вы пишете 32-битное или 64-битное приложение? 32-битная или 64-битная ОС? Artelius 14 лет назад 3
Если вы не хотите переносить это в Super User, отредактируйте ваш вопрос, чтобы было ясно, что вы разрабатываете приложение ChrisF 14 лет назад 1
Однажды у меня было программное обеспечение (Macromedia Fontographer, последняя версия), которое сразу после запуска зависало, как только на ПК (windows) было более 1 ГБ оперативной памяти. Martin 14 лет назад 0
Почему эти вопросы заканчиваются на SU, как это? Никто не может отредактировать их должным образом, прежде чем переносить их? Честно говоря, весь этот вопрос - беспорядок. alex 14 лет назад 0
Кто бы ни убрал эту ветку вопросов, спасибо! alex 14 лет назад 0
Нет проблем. Я просто удалил все ответы, которые должны были быть комментариями. Не намного больше, что можно сделать. BinaryMisfit 14 лет назад 0
Это стандартное приложение, которое вы используете, и если да, сообщите нам. Это программа, которую вы пишете сами? Если это так, возможно, в вашем коде есть ошибка, например, использование 32-битного типа данных там, где вы должны использовать 64-битный тип данных. davr 14 лет назад 0

1 ответ на вопрос

13
RichieHindle

Если ваша программа 32-битная, она не сможет использовать более 4 ГБ, независимо от процессора или ОС, на которой вы ее запускаете ...

Вы точно знаете, что ваша программа скомпилирована как 64-битная, и что вы запускаете ее на 64-битной ОС?

Трудно сказать по этому вопросу, но ожидаете ли вы запустить какое-либо стандартное программное обеспечение и использовать ли оно более 4 ГБ ОЗУ? Это не сработает, если оно специально не скомпилировано для 64-битных систем, чего не делает большинство готовых программ для Windows.

32-разрядные программы могут использовать только 2 ГБ ОЗУ (3 ГБ в 32-разрядной ОС / 4 ГБ в 64-разрядной ОС с включенным флагом связывания / LARGEADDRESSAWARE) phuclv 10 лет назад 1

Похожие вопросы