Когда я запускаю Windows, я обычно постоянно открываю несколько программ. У меня установлено 4 ГБ памяти (и она может использовать все), и вряд ли каждый использует более 2,5 гигабайт. Тем не менее, каждый раз, когда я переключаюсь на программу, которая была свернута на некоторое время, Windows сходит с ума, пытаясь прочитать жесткий диск. Я не специалист по операционным системам, но насколько я понимаю, он не должен использовать жесткий диск для кэширования памяти и удаления ее из оперативной памяти, если она все еще используется и ее достаточно для других программ. В любом случае, есть ли способ заставить Windows не делать этого или другое объяснение, почему это происходит?
Спасибо!
Ответы:
Windows выгружает данные приложения, которые некоторое время не использовались, чтобы освободить оперативную память для файловых кешей. Таким образом, файловые приложения, такие как медиаплееры или средства загрузки, могут использовать вашу оперативную память в пользу запущенных, но неиспользуемых приложений, которые реагируют медленно.
Большинство людей настраивают наоборот, увеличивая кеширование файлов для срочных операций чтения / записи. Например, некоторые советы можно найти здесь: http://smallvoid.com/article/winnt-system-cache.html . Может быть, вы могли бы использовать это объяснение, чтобы настроить его наоборот, например. уменьшите кеширование файловой системы, чтобы не выгружать ваши приложения.
источник
В Windows 7 перейдите в «Свойства системы». В расширенной вкладке нажмите «Настройки» раздела «Производительность». Здесь в разделе «Планирование процессора» выберите «Настроить для ..» «Фоновые службы».
Это только на основе личного опыта, и я не могу подтвердить или привести точную ссылку на MSDN или какой-либо другой опубликованный источник. Кстати, просто поясняю, что мой личный опыт довольно важен, поскольку я управлял многими серверами и рабочими станциями на протяжении многих лет.
Моя теория заключается в том, что, адаптируясь к «фоновым службам», окна сохраняют фоновые приложения (в том числе свернутые) на достойном приоритете и, следовательно, уменьшают вероятность их замены.
Еще одно из очень «расплывчатого» воспоминания о чтении файла подкачки. Даже файл EXE выгружается, т. Е. Если процесс не использует активно части своего исполняемого кода, то эта часть может быть выгружена (на самом деле не записана для подкачки). файл). Другими словами, оперативная память, используемая для хранения кода (в отличие от данных), также освобождается и используется для других процессов. Позже, когда вы переключаетесь на приложение, и оно запускает часть своего кода, которого больше нет в памяти, Windows должна затем перезагрузить его по мере необходимости. Это также вызывает отставание. Я считаю, что настройка для фоновых сервисов также уменьшает этот эффект.
Во-вторых, поскольку вы не используете более 2,5 ГБ памяти, вы можете сделать файл подкачки настолько минимальным, насколько позволяют окна безболезненно (оставьте достаточно, чтобы он мог записывать небольшой дамп памяти в случае BSOD).
Вы можете полностью удалить файл подкачки, но я не советую этого делать, потому что, как я уже упоминал выше, Windows будет жаловаться на невозможность написать аварийный дамп.
источник