10

У меня есть 4 ГБ оперативной памяти, но Windows все еще иногда перебивает диск (особенно часто, когда приложение сворачивается в течение некоторого времени, а затем я снова активирую его). Совершенно глупо, потому что диспетчер задач показывает, что 2 ГБ оперативной памяти свободны. Есть ли способ предотвратить выгрузку памяти программ Windows?

Я попытался настроить Superfetch для кэширования только файлов запуска (это немного помогло) и отключить файл подкачки (это очень помогло и хорошо работало для меня в Windows XP, но Windows Vista/Windows 7 этого не позволяют - это показывает "низкий уровень" "Память" часто, даже если у меня есть 1 ГБ ОЗУ.)

Что вы можете посоветовать мне сделать?

6 ответов6

7

Марк Руссович написал хорошую длинную статью о виртуальной памяти,
Расширяя границы Windows: виртуальная память

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

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

Это очень хорошее чтение.

Насколько большой я должен сделать файл подкачки?
Возможно, один из наиболее часто задаваемых вопросов, связанных с виртуальной памятью, заключается в том, насколько большим должен быть файл подкачки? Нет конца нелепым советам в Интернете и в газетных киосках, посвященных Windows, и даже Microsoft опубликовала вводящие в заблуждение рекомендации. Почти все предложения основаны на умножении объема ОЗУ на некоторый коэффициент, с общими значениями 1,2, 1,5 и 2. Теперь, когда вы понимаете роль файла подкачки в определении предела фиксации системы и того, как процессы вносят вклад в плату за фиксацию, вы хорошо понимаете, насколько бесполезны такие формулы на самом деле.


Предыдущая статья: Расширение границ Windows: физическая память

Вы можете увидеть расположение физической памяти с помощью инструмента Meminfo от Alex Ionescu.

4

Просто оставьте управление виртуальной памятью Windows, оно хорошо работает. Пейджинг (и, следовательно, недоразумения Марка Руссиновича в этом вопросе) не имеют никакого отношения к перегрузке диска (если у вас достаточно системной памяти), вам нужны настройки NTFS.

У О'Рейли есть интересная статья о производительности NTFS.

С аппаратной стороны: лучший жесткий диск с более высокой скоростью вращения и большим кешем тоже поможет.

А вот как убить предупреждение о нехватке памяти, стать владельцем и уничтожить следующие ключи реестра.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {5EE64AFB-398D-4edb-AF71-3B830219ABF7}]

а также

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules\ {45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}]

Это помешает службе диагностики загрузить RADAR. У меня работает в Windows Vista, ключи присутствуют в Windows 7. Хотя я не пробовал - просто сделайте резервную копию этих ключей, прежде чем удалять их.

1

Проверьте Панель управления \ Система и безопасность \ Система> Расширенные настройки системы> [Дополнительно]> Производительность: Настройки> [Дополнительно]

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

1

Единственный способ, который я нашел, - увеличить объем оперативной памяти до 8 ГБ и отключить подкачку, установив

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ Диспетчер сеансов \ Управление памятью \ DisablePagingExecutive = 1

(требуется перезагрузка).

Это снизило активность диска почти до нуля.

0

Похоже, вы установили очиститель кэша / памяти. Они перемещают приложения для обмена, когда вы минимизируете их, а не оставляете их в памяти.

Система работает медленно или вы просто используете слово трэш, потому что видите мигающий индикатор HD?

0

Переходите на Linux, он этого не делает.

Люди скажут вам, что Windows умнее вас, и вы не должны возиться с настройками файла подкачки, и они правы. Но эта система в основном настроена так, чтобы выделять новую память для процесса практически мгновенно, и это приносит пользу. Одним из побочных эффектов является то, что он постоянно перемещает все, что у вас есть в памяти, на диск, поэтому, когда ему требуется новая часть памяти, он может просто стереть эту часть памяти и сразу же отдать ее, если она, конечно, не изменилась. Я считаю, что когда вы оставляете ваши приложения работающими, все их данные сохраняются на диск, а затем в какой-то момент другие приложения или система кэширования начинают использовать эту память. Таким образом, приложение остается с минимальным объемом их данных в физической памяти, и когда вы начинаете использовать его снова, оно должно получить все обратно с диска.

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

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