Хотите, я здесь не так делаю?
Хорошо, вы говорите, что на машине, на которой вы запускаете приложение, есть 16 ГБ ОЗУ, поэтому я предполагаю, что она 64-битная,Это означает, что ваше приложение будет работать целую вечность, прежде чем оно исчерпает 1 / физическую память и 2 / виртуальную память.
В 32-битной Windows ваше приложение остановится на 4 ГБ.В 64-битной Windows ваше приложение остановится на 16 ТБ (при условии, что у вас есть файл подкачки, который может автоматически увеличиваться, и столько места на жестком диске).
http://support.microsoft.com/kb/294418
YMMV с другими операционнымисистем.
Редактировать : ruslik указывает, что на практике ваш процесс не сможет выделить память объемом до 2 ГБ или 3 ГБ (в зависимости от того, как ваш двоичный файлскомпилировано) на 32-битной Windows.Из статьи КБ, на которую я ссылаюсь выше, максимальный объем памяти, который будет занимать ваш процесс, составляет 3 ГБ или 4 ГБ, при этом 1 ГБ принадлежит ОС, которую вы не можете использовать.