Когда я запускаю Windows, я обычно постоянно открываю несколько программ. У меня установлено 4 ГБ памяти (и она может использовать все), и вряд ли каждый использует более 2,5 гигабайт. Тем не менее, каждый раз, когда я переключаюсь на программу, которая была свернута на некоторое время, Windows сходит с ума, пытаясь прочитать жесткий диск. Я не специалист по операционным системам, но насколько я понимаю, он не должен использовать жесткий диск для кэширования памяти и удаления ее из оперативной памяти, если она все еще используется и ее достаточно для других программ. В любом случае, есть ли способ заставить Windows не делать этого или другое объяснение, почему это происходит?

Спасибо!

2 ответа2

1

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

Большинство людей настраивают наоборот, увеличивая кеширование файлов для срочных операций чтения / записи. Например, некоторые советы можно найти здесь: http://smallvoid.com/article/winnt-system-cache.html . Может быть, вы могли бы использовать это объяснение, чтобы настроить его наоборот, например. уменьшить кеширование файловой системы в пользу того, чтобы не выгружать ваши приложения.

0

В Windows 7 перейдите в "Свойства системы". На вкладке "Дополнительно" нажмите "Настройки" раздела "Производительность". Здесь в разделе "Планирование процессора" выберите «Настроить для ..» "Фоновые службы".

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

Моя теория состоит в том, что, адаптируясь к "фоновым службам", окна сохраняют фоновые приложения (включая свернутые) на достойном приоритете и, следовательно, уменьшают свои шансы на замену.

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

Во-вторых, поскольку вы не используете более 2,5 ГБ памяти, вы можете сделать файл подкачки настолько минимальным, насколько позволяют окна безболезненно (оставьте достаточно, чтобы он мог записывать небольшой дамп памяти в случае BSOD).

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

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