У вас есть три проблемы, когда дело доходит до места подкачки.
Во-первых, из-за недостатка места подкачки некоторые рабочие нагрузки просто невозможно выполнить. Если программе требуется больше памяти, чем доступно физической памяти, она просто не может работать без подкачки.
Во-вторых, при очень малом объеме подкачки ваш компьютер может не иметь возможности извлекать вещи, к которым никогда не обращаются из физической ОЗУ. Часто к некоторому фрагменту памяти никогда не будет обращаться, но операционная система не может доказать это. Поэтому он не может просто освободить память. Без достаточного обмена эта информация навсегда останется в оперативной памяти и никогда не будет доступна. Многие процессы запускают кучу памяти при запуске, которую они никогда не трогают.
Наконец, при очень малом объеме подкачки ваше решение перегрузить виртуальную машину или нет может иметь радикальные последствия. Если вы не разрешите системе перегружать виртуальную машину, вы будете отказываться от операций, которые на самом деле не используют много памяти. (Представьте, что большой процесс вызывает fork
. Он может быть готов к вызову exec
, но если вы не разрешите перегрузку, ОС должна отказаться, fork
если у нее недостаточно ОЗУ + подкачка, чтобы новый процесс мог испортить каждую доступную для записи отображаемую страницу.) Если вы разрешите системе перегружаться, и на самом деле у вас недостаточно оперативной памяти и подкачки для нетипичной рабочей нагрузки, вы можете обнаружить, что процессы нереально прекращаются.
Лично, предполагая типичное использование, я бы выделил 2 ГБ для подкачки и убедился, что допустимо разумное чрезмерное использование .