4

Все в заголовке. Какой смысл в большем количестве оперативной памяти, если мои программы будут выгружаться вместо ее использования?

Чтобы быть более конкретным, вот пример: я открываю 12 вкладок в браузере. Я смотрю на одну из них во время использования других программ в течение нескольких часов. Моя общая используемая оперативная память никогда не превышает мою физическую память. Тем не менее, когда я пролистываю остальные 11 вкладок несколько часов спустя, для загрузки каждой из них требуется 30 секунд, так как мой диск сильно трескается. Почему Windows удаляет неиспользуемые вкладки из ОЗУ, а не выделяет новую ОЗУ для программ, которые я использовал?

Конечно, я не использовал эти неоткрытые вкладки, но заменил несколько часов на 30 минут, и это раздражает.

4 ответа4

3

Это распространенная жалоба, но она основана на ряде неправильных представлений об управлении памятью Windows и о том, что именно нам говорит диспетчер задач. В большинстве случаев Windows отлично справляется с управлением памятью. Но, к сожалению, диспетчер задач не очень хорошо показывает это. Частично проблема заключается в том, что управление памятью значительно сложнее, чем думает большинство людей, и следует принципам, которые отличаются от привычных.

Просто несколько конкретных вещей, которые нужно запомнить:

  1. Индикатор памяти в Vista не показывает полное использование памяти. Большая часть верхней части датчика фактически используется. Точно так же память, показанная как "Доступная" в XP, в основном используется.
  2. Ни одна версия диспетчера задач не показала фактическое использование файла подкачки. То, что помечено как "PF Usage" в XP и "Pagefile" в Vista, на самом деле является обязательным. Фактическое использование файла подкачки, как правило, будет намного ниже.
  3. Большая часть данных, находящихся в файле подкачки, также находится в оперативной памяти.
  4. Пейджинг не является эксклюзивным для файла подкачки. Обычно только около 10% всей жесткой подкачки включает файл подкачки. Ничто в диспетчере задач даже не намекает на это.
3

Ваши программы используют память. Windows не только выдает страницу, когда ей не хватает памяти. Прочитайте этот ответ о сбое сервера для получения дополнительной информации о том, как работает файл подкачки в Windows, он говорит, что это лучше, чем я могу.

3

Один из распространенных мифов о "подкачке" заключается в том, что он используется только тогда, когда физическая память заполнена. Это неправда. Как вы можете видеть из статьи в Википедии, эта тема гораздо глубже, чем кажется большинству людей.

1

Люди в Microsoft приняли определенные решения по этому поводу. Это также связано с тем, что Windows оптимизируется для коротких (3-6 часов) простоев, поскольку большинство пользователей не используют ее дольше. Linux, например, использует всю память и только страницы, когда она заполнена, но даже при таком подходе возникают проблемы (как решить, что нужно удалить, когда он заполняется и т.д.).

Будьте уверены, плюсы и минусы обдуманы инженерами MS, и это не обязательно плохое решение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .