Как уменьшить перегрузку диска (подкачки)?
У меня есть 4 ГБ оперативной памяти, но Windows все еще иногда перебивает диск (особенно часто, когда приложение сворачивается в течение некоторого времени, а затем я снова активирую его). Совершенно глупо, потому что диспетчер задач показывает 2 ГБ оперативной памяти бесплатно. Есть ли способ предотвратить выгрузку памяти программ Windows?
Я попытался настроить Superfetch для кэширования только файлов запуска (это немного помогло) и отключить файл подкачки (это очень помогло и хорошо работало для меня в Windows XP, но Windows Vista / Windows 7 не позволяют этого - оно показывает "низкий уровень" в памяти ", даже когда у меня 1 ГБ ОЗУ свободно.)
Что вы можете посоветовать мне сделать?
6 ответов
Единственный способ, который я нашел, - увеличить объем оперативной памяти до 8 ГБ и отключить подкачку, установив
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ Диспетчер сеансов \ Управление памятью \ DisablePagingExecutive = 1
(требуется перезагрузка).
Это снизило активность диска почти до нуля.
Марк Руссович написал хорошую длинную статью о виртуальной памяти,
Расширяя границы Windows: виртуальная память
Виртуальная память отделяет представление программы о памяти от физической памяти системы, поэтому операционная система решает, когда и если сохранять код и данные программы в физической памяти, а когда хранить ее в файле. Основным преимуществом виртуальной памяти является то, что она позволяет одновременно выполнять больше процессов, чем могло бы поместиться в физической памяти.
В то время как виртуальная память имеет ограничения, связанные с ограничениями физической памяти, виртуальная память имеет ограничения, которые происходят из разных источников и различаются в зависимости от потребителя. Например, существуют ограничения виртуальной памяти, которые применяются к отдельным процессам, которые запускают приложения, операционную систему и систему в целом. Во время чтения важно помнить, что виртуальная память, как следует из названия, не имеет прямой связи с физической памятью. Windows, назначающая файловому кешу определенный объем виртуальной памяти, не определяет, сколько файловых данных она фактически кэширует в физической памяти; это может быть любое количество от одного до большего, чем количество, которое можно адресовать через виртуальную память.
Это очень хорошее чтение.
Насколько большой я должен сделать файл подкачки?
Возможно, один из наиболее часто задаваемых вопросов, связанных с виртуальной памятью, заключается в том, насколько большим должен быть файл подкачки? Нет конца нелепым советам в Интернете и в газетных киосках, посвященных Windows, и даже Microsoft опубликовала вводящие в заблуждение рекомендации. Почти все предложения основаны на умножении размера ОЗУ на некоторый коэффициент, с общими значениями 1,2, 1,5 и 2. Теперь, когда вы понимаете роль файла подкачки в определении предела фиксации системы и того, как процессы вносят вклад в плату за фиксацию, Вы в хорошем положении, чтобы увидеть, насколько бесполезны такие формулы.
Предыдущая статья: Расширение границ Windows: физическая память
Вы можете увидеть план физической памяти с помощью инструмента Meminfo Алекса Ионеску.
Просто оставьте управление виртуальной памятью 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. Хотя я не пробовал - просто сделайте резервную копию этих ключей, прежде чем удалять их.
Проверьте Панель управления \ Система и безопасность \ Система> Расширенные настройки системы> [Дополнительно]> Производительность: Настройки> [Дополнительно]
Планирование процессора связано с вашей проблемой, так же как и возможность отключить файл подкачки, что вам не следует делать. (Вам это нужно)
Похоже, вы установили очиститель кеша / памяти. Они перемещают приложения для обмена, когда вы минимизируете их, а не оставляете их в памяти.
Система работает медленно или вы просто используете слово "трэш", потому что видите мигающий индикатор HD?
Переходите на Linux, он этого не делает.
Люди скажут вам, что Windows умнее вас, и вы не должны возиться с настройками файла подкачки, и они правы. Но эта система в основном настроена так, чтобы выделять новую память для процесса почти мгновенно, и это хорошо. Одним из побочных эффектов является то, что он перемещает все, что у вас есть в памяти, на диск все время, поэтому, когда ему требуется новая часть памяти, он может просто стереть эту часть памяти и сразу же отдать ее, если она, конечно, не изменилась. Я считаю, что когда вы оставляете свои приложения работающими, все их данные сохраняются на диск, а затем в какой-то момент другие приложения или система кэширования начинают использовать эту память. Таким образом, приложение остается с минимальным объемом их данных в физической памяти, и когда вы начинаете использовать его снова, оно должно получить все обратно с диска.
Тем не менее, я не думаю, что вы можете сделать все с этим, это только одно из основных свойств системы. Вы можете сделать это только хуже, выключив страницу или выполнив любую другую настройку системы. Вы не можете заставить его работать так, как вам нравится, поскольку это просто не было написано с учетом этого.