Сообщение немного вводит в заблуждение. В системе недостаточно резервной копии виртуальной памяти, хотя в ней достаточно свободной физической памяти. Решение состоит в том, чтобы увеличить файл подкачки. Система не обязательно будет использовать файл подкачки - она просто необходима, чтобы гарантировать выполнение своих обещаний.
Это похоже на невозможность выписать чек, даже если на вашем банковском счете много денег. Вам нужно достаточно, чтобы покрыть случай, когда все выписанные вами чеки обналичиваются одновременно, даже если это вряд ли произойдет. Смотрите здесь для более подробной информации.
Вот простой, хотя и маловероятный пример, показывающий проблему: скажем, процесс создает частное, доступное для записи сопоставление файла 3 ГБ. Он никогда не может изменить один байт этого отображения. Однако система должна зарезервировать 3 ГБ поддерживаемой виртуальной памяти на тот случай, если этот процесс изменяет каждый байт этого файла - она должна где-то хранить изменения. Для этого отображения не требуется ни одного байта физической памяти, пока она не будет использована. Таким образом, это оставит систему с отображением, которое требует резервирования 3 ГБ ОЗУ + подкачки, но пока не требует использования ОЗУ.
"Свободная" оперативная память - это оперативная память, которую, несмотря на все усилия ОС, она не смогла найти, как использовать. Он также включает в себя ОЗУ, которое намеренно остается свободным для чрезвычайных ситуаций, например, когда память требуется в контексте, где память не может быть перенаправлена, например, из контекста прерывания.
"Доступная" оперативная память - это оперативная память, которая используется, но может быть легко освобождена операционной системой при необходимости, то есть информация на этих страницах может быть безопасно отброшена. Большая часть этой оперативной памяти будет содержать кэшированные копии данных файла.