Есть ли способ (приложение) для контроля ОЗУ / политики использования подкачки на уровне приложения.
У меня есть некоторые приложения, которые я использую все время, и я хочу, чтобы они постоянно оставались в оперативной памяти, а также есть приложения, которые я использую довольно редко, и они могут быть выброшены для замены по требованию. Я знаю, что настроенные по умолчанию окна должны дать мне лучшую производительность, но я хочу проверить, могу ли я получить больше :).
Я использую Windows 7.
windows-7
performance
swap
Darqer
источник
источник
Ответы:
Да, есть: заставить программу вызывать функцию VirtualLock :
Я считаю, что функция SetProcessWorkingSetSize также может быть полезна.
Для тех, кто думает, что я еретик, даже предположил, что это может быть полезно:
Обратите внимание, что могут быть веские причины для блокировки страниц в памяти. Действительная причина может заключаться в том, что пользователь запускает устройство записи компакт-дисков, а устройство записи компакт-дисков постоянно выгружает страницы и, следовательно, вызывает переполнение буфера, создавая подставку. В этой ситуации было бы допустимо блокировать буферы памяти, чтобы они не выгружались, даже если это означает, что остальная часть компьютера замедляется для сканирования, потому что это все же лучше, чем предоставить пользователю средство для подкачки. Могут быть и другие веские причины - моя точка зрения такова: хотя обычно не рекомендуется блокировать страницы в памяти, допустимые ситуации все еще существуют, и я не думаю, что уничтожение этой идеи поможет ОП здесь.
Обновление: Посмотрите на Process Hacker «s
Reduce Working Set
опции меню.источник
SetProcessWorkingSetSize
. Это один из способов. Если, конечно, если вы не знаете, что это значит, потому что вы не разработчик, то, очевидно, вы мало что можете сделать. Но это все еще возможно, и говорить, что это невозможно, все равно неправильно, просто требуется больше знаний, чем могло бы иметь ОП.Единственный способ, который я нашел, - отключить файл подкачки. Однако это не идеальное решение: вы будете получать сообщения об ошибках, если ваш предел ОЗУ приближается к пределу или превышает его, и он не сможет правильно сохранять аварийные дампы, поэтому включите его снова, если вам нужно устранить неполадки. Кроме того, я использую Win7 без файла подкачки в течение нескольких месяцев без помех.
Мой опыт: у меня была эта проблема с программным обеспечением пианино (использование 1 ГБ ОЗУ), которое было бы выброшено в swap после того, как какое-то время не использовалось. Воспроизведение клавиши пианино через несколько часов может привести к сбоям в работе, поскольку своп не будет перезагружен достаточно быстро для воспроизведения звука. (Я бы тогда положил всю свою руку на каждый ключ, чтобы вызвать перезагрузку!)
Если оперативная память является проблемой, я предлагаю вам купить больше (например, от 8 до 12 ГБ с Windows 7 x64). Для сознательного ОЗУ наличие большого количества ОЗУ - это находка.
Но прежде вы должны подумать о том, чтобы приобрести SSD-накопитель и установить на него своп. Это значительно ускорит восстановление подкачки, а также предоставит множество других системных преимуществ. Оперативная память не дает преимуществ, когда она не используется.
источник
Использование файла подкачки зависит от множества факторов. Если вы используете много программ и не имеете достаточно ОЗУ для всех одновременно, то некоторые из них (или все) могут быть выгружены в файл подкачки.
Если у вас 4 ГБ ОЗУ и, скажем, около 3 ГБ доступно из-за того, что видеокарты и другие пользователи ресурсов блокируют части 4 ГБ, и вы используете только несколько программ, которые не занимают много памяти, теоретически вы никогда не нужен файл подкачки. Однако Windows Vista и 7 общеизвестно агрессивны в обмене программами на диск.
Раньше у меня был параметр, который уменьшал перестановку в Windows 7 (перестановка - это термин для Linux, но он также применим и к Windows, и, поскольку есть параметр реестра для укрощения агрессивности Windows, кажется, что Microsoft неохотно соглашается, хотя и хорошо скрытно), но я не могу найти это больше. В поисках так я оказался здесь. Лучшая альтернатива этой настройке, которую я нашел, - это убедиться, что вы используете файл подкачки фиксированного размера (я использую 4096-4096 для 32-разрядных ОС и 12 ГБ для 64-разрядных, так как у меня 6 ГБ системной памяти) на выделенном разделе. Имея запасной диск емкостью 7200 об / мин 200 ГБ, я размещаю все свои разделы подкачки (Windows XP, 7, 7 64-битные и различные Linux) на этом диске. Кажется, работает для меня, но YMMV.
источник
Стоит упомянуть: когда Windows обнаруживает, что вы часто используете определенные приложения, суперфакция помещает эти приложения в память, чтобы они загружались быстрее. Я думаю, что доверять Windows, чтобы сделать свое дело здесь.
источник