У вас мало виртуальной памяти. Это может произойти, даже если у вас много свободной оперативной памяти.
Это как неспособность потратить деньги, даже если у вас осталось много чеков и много денег в банке. У вас должно быть достаточно денег, чтобы покрыть чеки, которые вы уже написали, или вы не можете больше писать, не рискуя катастрофой, если все ваши чеки будут обналичены сразу.
Простое решение - увеличить файл подкачки.
Файл подкачки подобен кредитной линии, которую Windows может позаимствовать. Зная, что он может позаимствовать из файла подкачки, если все его чеки будут обналичены одновременно, он может продолжать писать чеки. Скорее всего, он не будет использовать файл подкачки, а просто нуждается в нем, чтобы гарантировать выполнение своих обещаний.
Например, скажем, у вас есть 4 ГБ оперативной памяти. Четыре приложения запускаются и сообщают ОС, что им может потребоваться до 1 ГБ ОЗУ (резервирование). ОС говорит "хорошо", и все четыре приложения запускаются. (Вы бы предпочли, чтобы они не запускались ?!)
Скажем, сейчас они используют 1 ГБ оперативной памяти. Затем запускается другое приложение и запрашивает 1 ГБ. Что может сделать ОС? Если он скажет «да» этому приложению, что произойдет в очень маловероятном случае, когда все приложения внезапно используют всю запрошенную ими память? ОС не имеет 5 ГБ памяти и не может отменить обещания, которые она уже дала.
Конечно, с помощью файла подкачки он может просто записывать редко используемые страницы на диск и выполнять все свои обещания. Поэтому для запуска другого приложения ему необходим файл подкачки, даже если 3 ГБ свободно.
Благодаря большому файлу подкачки Windows может позволить приложениям работать, пока фактический рабочий набор помещается в ОЗУ. Без файла подкачки Windows не может запускать какие-либо приложения, если она не помещает все в ОЗУ, что может быть использовано на основе уже принятых обязательств. Это означает, например, что простое частное, доступное для записи сопоставление файла объемом 1 ГБ приводит к потере почти 1 ГБ ОЗУ, поскольку приложение может записывать каждый байт этого файла, так что 1 ГБ ОЗУ может содержать только те страницы, которые можно безопасно отбрасываются.
Linux, кстати, позволяет операционной системе перегружать резервное хранилище. Недостатком этого является то, что может потребоваться принудительное завершение процессов, если ОС завершает выполнение обещаний, которые она не может выполнить. Вот почему в Linux есть « OOM Kiler », а в Windows его нет. В большинстве случаев машины с Linux отключены из-за чрезмерной загрузки .