Почему приложения так медленно работают при переключении на них, хотя у меня есть свободная память?

9

На моем Windows 7 (64-разрядном) ПК, когда у меня запущено несколько ресурсоемких программ и еще полдюжины других, когда я переключаюсь на приложение, которое какое-то время не использовалось, требуется много времени для ответа и я слышу, как работает жесткий диск. Я предполагаю, что он получает данные из файла подкачки. В диспетчере задач Windows он показывает, что я использую около 75% физической оперативной памяти, а остальные разделены примерно на 50/50 между кэшированным и свободным.

Несмотря на то, что оперативная память доступна, она перемещает данные из оперативной памяти только на диск? Как я могу сделать другие программы более отзывчивыми? Ускорит ли это увеличение оперативной памяти с 4 до 8 ГБ при переключении с одной программы на другую?

Curyous
источник
Обратите внимание, что вам потребуется 64-разрядная версия Windows 7, чтобы использовать более 4 ГБ. Добавление дополнительной памяти поможет много, а затем установите Pagefile на минимум 200 МБ / максимум 200 МБ.
Michael9000
Бьюсь об заклад, это, вероятно, из-за части «У меня есть несколько ресурсоемких программ» .
Surfasb

Ответы:

7

Windows должна найти компромисс между пропускной способностью и задержкой.

Если бы они хранили приложения в оперативной памяти, даже если они не использовались в течение длительного периода времени, пропускная способность пострадала бы. Используемая, но неиспользуемая физическая оперативная память уменьшит объем оперативной памяти, доступной для других приложений и системы.

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

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

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

Конечно, вы всегда можете добавить больше оперативной памяти. Сейчас это абсурдно дешево. И это снижает вероятность того, что Windows в первую очередь придется делать какие-либо компромиссы.

Дэвид Шварц
источник
1
Что касается отключения файла подкачки, возможно, ваша система может просто аварийно завершить работу.
Surfasb
6

Windows будет выгружать программы из памяти на диск. Я не знаю алгоритм, который он использует, но я не удивлюсь, если посмотреть, сколько времени приложение простаивает.

Windows будет пытаться максимизировать объем свободной физической ОЗУ, поскольку это полезно, поэтому обновление вашей памяти до 8 или даже 12 ГБ улучшит быстродействие вашей системы - особенно если вы используете несколько «ресурсоемких» приложений.

ChrisF
источник
3
Это определенно смотрит на то, как долго память простаивает. Когда Windows хочет больше свободного физического ОЗУ, первое, что она отбросит (или выгрузит), это страницы памяти, к которым не обращались в течение очень долгого времени.
Дэвид Шварц
0

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

Исходя из личного опыта, я считаю ненужным файл подкачки на ПК с 4 ГБ + ОЗУ. Вы можете полностью отключить обмен, чтобы увидеть, является ли это причиной проблемы.

Кроме того, есть службы Windows, которые я предпочитаю отключать, поскольку они, как правило, выполняют много ненужных операций ввода-вывода с диска: Superfetch, ReadyBoost, Windows Search, Защитник Windows, теневое копирование томов и отслеживание распределенных ссылок.

Михаил Купчик
источник
2
Зайдите на отличный сайт BlackViper, чтобы увидеть, какие услуги вы можете безопасно отключить
Michael9000
1
Отключение Superfetch вместе с файлом подкачки - огромная ошибка. Это уже обсуждалось много раз.
Surfasb