Почему кэшируется много оперативной памяти

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

Дело в том, что это кэширование файлов приводит к тому, что все последующие обращения к одному и тому же файлу происходят намного быстрее. Но кэширование работает именно на уровне файлов, это стоит учесть, ибо например утилита PrimoCache (которой кстати я давно уже пользуюсь, она позволяет создать кэш из ОЗУ для жесткого диска), так она кэширует как бы не файлы, а блоки файловой системы. Как по мне, то эффективность кэширования блоков куда выше, чем файлов.

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

Я писал, что виндовское кэширование не до конца изучено, ну или о нем просто мало есть инфы. Что я это имел ввиду? По моим наблюдениям, виндовское кэширование это нечто большее чем просто кэширование файлов. После включения кэширования его я не замечаю взрыв производительности, нет, такого нет, но то что оболочка работает быстрее, это факт. То что программы чуть быстрее открываются и закрываются, это тоже факт. Мелкие файлы также легче копировать. Загрузка рабочего стола со всеми процессами, прогами которые стоят в автозагрузке, то все это происходит немного быстрее при включенном виндовском кэшировании. Почему так, я не знаю. Но уверен, что кэширование нужно не только для файлов! Возможно что кэшируются данные, с которыми работают те или иные программы, кэшируются вызовы команд, библиотеки, ну и все остальное такое эдакое. Вы уж извините, может я и бред написал, но я вот так думаю.

Поэтому даже используя утилиту PrimoCache, я все равно не отключаю виндовское кэширование. И вам советую. Правда есть разговоры в интернетах, что в Windows 7 такое кэширование потребляет много оперативы и потом назад эту память не отдает. Ну, честно вот скажу, никогда ничего подобного у меня не было, и очень странно, ведь я с компьютером почти не расстаюсь..

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

Итак, первая настройка, это служба SuperFetch. Именно эта служба и обеспечивает кэширование файловой системы в виндовс. Я лично ее не отключал, вернее я пробовал ее отключить, но пришел к выводу, что лучше ее оставить включенной. Вы тоже можете провести эксперимент: отключите службу и поработайте за компом несколько недель, а потом ее включите и сравните работу. Может вы заметите разницу, а может быть и не заметите. Кому как, но если комп работает быстрее и без службы SuperFetch, то думаю что нет смысла вам ее включить. В принципе все логично..

Читайте также  Почта россии тестирование для сотрудников

Я сейчас покажу как отключить SuperFetch в Windows 10, но также само все можно сделать и в Windows 7. Можно ли отключить в Vista, я, честно говоря не знаю.. Но думаю что можно.. Ну так вот, открываете диспетчер задач и там идете на вкладку Службы, где нажимаете кнопку Открыть службы:

Теперь тут находим службу SuperFetch (кстати она еще называется SysMain, так что теперь знайте что это за служба) и нажимаем по ней два раза:

Потом появится вот такое небольшое окошко свойств:

Как видите, в поле Описание тут сказано кратко, что поддерживает и улучшает производительность системы. Ну, в принципе, как я уже писал, то так оно и есть. Теперь, чтобы отключить эту службу, вам нужно там где Тип запуска, то там выбрать Отключена. И потом еще нажать кнопку Остановить, ну чтобы работа службы прекратилась. Ну а чтобы включить ее обратно, то нужно все вернуть как было

Это была первая настройка. А вот вторая настройка, это я имею ввиду кэширования дисков в Windows и вот как это кэширование отключить. Открываете окно Мой компьютер, в Windows 10 вы можете сразу его и не открыть, ну мало ли, поэтому на всякий случай я покажу команду, при помощи которой можно открыть это окно. Просто зажимаете Win + R и пишите туда такое как:

Теперь нажимаете правой кнопкой по любому диску или разделу и выбираете там Свойства:

Откроется окошко свойств, тут вам нужно перейти на вкладку Оборудование, где у вас будут все диски, вот эта вкладка:

А внизу там есть еще кнопочока Свойства. Так вот, вам нужно выбрать диск, и потом нажать эту кнопку, чтобы открыть уже свойства устройства, ну то есть диска. В общем выбираем диск и нажимаем кнопку Свойства:

Дальше нажимаем кнопку Изменить параметры:

И вот теперь, на вкладке Политика будут две галочки, вот они:

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

ЗАБЫЛ КОЕ ЧТО! Я вот показал как отключить кэширование дисков, да? Ну так вот, это нужно сделать для каждого диска! То есть там в окошке выбираете диск и потом нажимаете кнопку Свойства, и потом уже отключаете кэширование. ВОТ ТАК нужно сделать с каждым диском, для каждого диска нажать кнопку Свойства, ну, думаю все понятно

Что еще сказать про кэширование? Даже не знаю.. Ну то что отключать его я не советую, это я уже написал, однако решение все равно за вами, кому-то легче с ним, а у кого-то оно вызывает только глюки. Ведь для кэширования нужна оперативка, правда Microsoft утверждает, что при необходимости, оперативка будет освобождена под нужды какой-то проги. Но как уже убедились юзеры Windows 7, это не всегда происходит именно так, хотя у меня все было нормально. Часто юзеры писали, что какая-то программа сообщает, что ей не хватает оперативки, когда ее в теории должно быть полно. А оказывается, что вся она ушла под кэширование и возвращаться не собирается. Вот такие пироги..

Читайте также  Приложение для переворота экрана

Итак, давайте подведем выводы. Какие плюсы у отключения кэширования?

  1. Потребление оперативной памяти самой Windows должно снизится.
  2. Работающих служб станет на одну меньше, конечно это плюс сомнительный, но чем меньше работающих служб, тем быстрее работает сама Windows.
  3. Меньше шансов, что ценная информация пропадет. В теории данные должны записываться сразу на диск, без буферной зоны в виде кэша. Ну это не то чтобы в теории, это так и должно быть.

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

Ну а какие минусы отключения виндовского кэширования?

  1. Некоторые программы могут работать медленнее. Копирование файлов, установка и запуск программ, закрытие программ, все эти процессы могут происходить немного медленнее. Однако это я имею ввиду если у вас жесткий диск (HDD), если же твердотельный накопитель (SSD), то никакого замедления быть не должно.
  2. Увеличится обращение к диску. В случае с жестким диском это проявляется как периодическое подтормаживание, а в случае с SSD это просто увеличит количество записи/чтения данных (что не так уж и полезно для SSD).
  3. После отключения кэширования, свободная оперативная память будет простаивать, то есть пользы от нее никакой не будет. С другой стороны доступный обьем ОЗУ будет полностью в распоряжении запущенных программ.

Вот такие дела, я не знаю что написать по поводу особых плюсов или особых минусов в кэшировании. Тут каждый выбирает сам. То что система с включенным кэшированием работает быстрее, то в этом я сам лично убедился. Если отключить кэширование, то становится больше оперативы, я это тоже заметил. Поэтому вывод можно сделать один: я показал как отключить кэширование, вам осталось просто провести эксперимент и понять, что лучше, без кэширования или с ним. Рекомендую эксперимент вести не один день, а где-то неделю, или даже две, чтобы окончательно закрыть для себя вопрос, ну как-то так..

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

Сегодня речь пойдет о таком популярном методе искусственного расширения оперативной памяти, как кэширование. О чем это я?

Если в вашей системе установлено недостаточно для ваших задач оперативной памяти, наиболее разумно будет увеличить объем этой памяти, путем покупки дополнительной планки. Но что делать если денег на покупку нет? На помощь к вам, приходит ваш винчестер.

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

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

Читайте также  Пылесос дайсон беспроводной замена аккумулятора

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

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

Как освободить больше оперативной памяти?

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

Ситуация: компьютер, на борту которого 4 ГБ оперативной памяти, работающий под управлением Windows 7 64-bit в течение нескольких часов занимался сложной задачей (импорт большого массива данных в SQL из кучи мелких файлов (100.000+ файлов)). Постепенно работа компьютера замедлялась все больше и больше и он стал почти совсем неотзывчивым. Монитор ресурсов на вкладке «Память» в разделе «Физическая память» показывает:

Зарезервированное оборудование: 2 МБ

Используется: 3874 МБ

Ожидание: 163 МБ

(пока я это писал, цифры незначительно изменялись то в большую, то в меньшую сторону)

НО! Если просуммировать процессы по значениям в столбце «Завершено (КБ)» или «Рабочий набор (КБ)» (кто-нибудь может пояснить в двух словах, в чем разница между этими значениями?), то по сумме получается, что все процессы потребляют не более 2 ГБ памяти.

Вопрос: кто съел еще почти 2 ГБ памяти и почему она не высвобождается? (в текущий момент никаких трудоемких или требующих памяти задач не выполняется).

PS В диспетчере задач на вкладке «Быстродействие» такая картина по памяти:

Выделено (МБ): 5979 / 8187 (хотелось бы чтобы кто-то также прокомментировал, что означают эти цифры)

Надеюсь только на экспертов.

  • Вопрос задан более трёх лет назад
  • 26812 просмотров

>>Свободно: 46 МБ
Это количество действительно свободной памяти, т.е. вообще ни подо что не задействованной. В нормальных условиях её и должно быть свободно чуть-чуть, т.к. остальная _доступная_ память должна уходить на кеширование.

>>в чем разница между этими значениями
Ну вообще, если навести мышу на заголовки, то там подсказка выплывает 😉
Завершено — сколько виртуальной памяти выделенно процессу (т.е. например процесс попросил 2Гб аллокейтнуть — будет показывать 2Гб здесь);
Рабочий набор — сколько в реальности сейчас висит в оперативной памяти, т.е. значение может быть меньше чем «Завершено».
Вот хороший пример:

>>Вопрос: кто съел еще почти 2 ГБ памяти и почему она не высвобождается?
Ну куда именно она ушла только по итоговым показателям трудно сказать, для более-менее конкретного гадания нужно хотя скриншоты. Крайне желательно взять Process Monitor (www.sysinternals.com).

>>Всего: 4094
Это объём _оперативной памяти_ (без свопа)
>>Кэшировано: 178
Это объём оперативной памяти выделенной под кеширование файлов
>>Доступно: 211
Это объём оперативки, который система может выделить для процесса (состоит из кеш+свободная)

>>Выделено (МБ): 5979 / 8187
Выделено памяти — 5979 мегабайт из максимально доступных 8187 мегабайт, состоящих из

4096 Мб оперативной памяти и 4096 Мб файла подкачки.
Что, кстати, косвенно говорит о том, что памяти кто-то очень немало сожрал, аж в 1,5 раза больше чем оперативки.

Ссылка на основную публикацию
Adblock
detector