Какая часть оперативной памяти используется системным файловым кешем в Windows? - PullRequest
0 голосов
/ 13 ноября 2018

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

Поскольку понятие «свободная память» в Windows немного размыто, у меня вопрос: какую часть оперативной памяти использует системный файловый кеш? Например, это то же самое, что «Доступная оперативная память» в диспетчере задач?

1 Ответ

0 голосов
/ 14 ноября 2018

Да, ОЗУ, используемое файловым кешем, по сути является ОЗУ, отображаемым как доступное в диспетчере задач. Но не совсем. Я углублюсь в детали и объясню, как его измерить точнее.

Файловый кеш - это не процесс, указанный в списке процессов в диспетчере задач. Однако, начиная с Vista, ее память управляется как процесс. Таким образом, я объясню немного управления памятью для процессов, файловый кеш - особый случай.

В Windows оперативная память, используемая процессом, имеет два состояния: «Активно» и «Режим ожидания»:

  • «Активная» ОЗУ отображается в диспетчере задач и мониторе ресурсов как «Используется». Это также оперативная память, отображаемая для каждого процесса в диспетчере задач.
  • «Резервная» ОЗУ видна на мониторе ресурсов глобально и для каждого процесса с RAMMap .

«Ожидание» + «Свободная» ОЗУ - это то, что называется «Доступно» в диспетчере задач. «Свободная» оперативная память имеет тенденцию быть около 0 в Windows, но вы вполне можете считать, что резервная оперативная память также свободна.

Резервное ОЗУ рассматривается как «не использовавшееся некоторое время процессом». Это часть оперативной памяти, которая будет использоваться для предоставления новой памяти нуждающимся в ней процессам. Но он все еще принадлежит процессу и может использоваться напрямую, если процесс-владелец неожиданно обращается к нему (что считается системой маловероятным).

Таким образом, файловый кеш имеет «активную» оперативную память и «резервную» оперативную память. «Активная» оперативная память - это кэш данных, к которым недавно обращались. «Резервная» оперативная память - это кэш для данных, к которым недавно обращались. «Активная» оперативная память файлового кэша обычно относительно мала. Резервное ОЗУ файлового кэша чаще всего представляет собой все ОЗУ вашего компьютера: Общее ОЗУ - активное ОЗУ всех процессов. Действительно, другие процессы редко имеют резервную оперативную память, потому что она имеет тенденцию переходить в файловый кеш, если вы выполняете дисковый ввод-вывод совсем немного.

Это информация, отображаемая RAMMap для занятого сервера, выполняющего много операций ввода-вывода и вычислений: enter image description here

Файловый кеш - это вторая строка, которая называется «Сопоставленный файл». Обратите внимание, что большая часть 32 ГБ находится либо в активной части других процессов, либо в резервной части файлового кэша.

Итак, наконец, да, ОЗУ, используемое файловым кешем, по сути, является ОЗУ, отображаемым как доступное в диспетчере задач. Если вы хотите измерить с большей уверенностью, вы можете использовать RAMMap.

...