13

Некоторое время я так себя чувствовал, мысленно глядя на менеджера задач о том, сколько физической памяти должно использоваться, и замечая большое расхождение. Я наконец нашел время для его измерения. Взяв результаты списка задач и добавив, дал около 3,87 ГБ. Диспетчер задач сказал мне, что я использую 4,6 ГБ памяти. Это похоже на большое несоответствие. Куда это делось?

РЕДАКТИРОВАТЬ: Таким образом, это ясно, он не собирается предварительной выборки. Также было высказано предположение, что это часть ОС, но не часть каких-либо системных процессов. Если это правда, пожалуйста, найдите способ заставить ОС сообщить мне, сколько памяти используется. Поскольку я хочу выяснить, куда делась память, просьба взглянуть на разницу ничего не делает для меня.

РЕДАКТИРОВАТЬ 2: Это не следующее:

  1. Ядро
  2. Кеш
  3. Аппаратная резервная память

Картинка ресурсов занята. Не совсем уверен, что это будет делать, но ...

9 ответов9

8

Windows 7 использует «неиспользуемую» память для предварительного кэширования и ускорения работы. Если вам понадобится эта память, она освободится.

Это особенность, а не ошибка;)

Из технета

После того, как вы некоторое время используете систему Windows Vista, вы увидите небольшое число для счетчика свободной физической памяти на странице производительности диспетчера задач. Это связано с тем, что SuperFetch и стандартное кэширование Windows используют всю доступную физическую память для кэширования данных на диске. Например, при первой загрузке, если вы сразу же запустите диспетчер задач, вы должны заметить, что значение свободной памяти уменьшается по мере увеличения числа кэшированной памяти. Или, если вы запустите программу, требующую памяти, и затем выйдете из нее (любой из бесплатных «оптимизаторов ОЗУ», которые выделяют большие объемы памяти, а затем освободят память, будет работать), или просто скопируете очень большой файл, Свободное число подъем и график использования физической памяти будет падать, когда система восстанавливает освобожденную память. Однако со временем SuperFetch снова заполняет кэш данными, которые были вытеснены из памяти, поэтому число кэшированных номеров возрастает, а число свободных уменьшается.

5

Цифры, которые вы видите, абсолютно неточны и должны приниматься только как показания.

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

Больше объяснений вы найдете в разделе Как интерпретировать вкладку «Быстродействие» диспетчера задач?, но я хочу процитировать эту часть:

Что вы ожидаете от программы, называющей себя "Диспетчер задач"? В ядре операционной системы нет ничего, что называется "задачей" - в ОС есть "процессы" и "потоки". У DOS были "задачи". Аппаратное обеспечение Intel имеет структуры "задач", но ОС не использует их, потому что это быстрее сделать самому.

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

5

Я предлагаю скачать Sysinternals Suite от Microsoft. Он включает в себя несколько утилит, которые предоставят вам больше информации, чем диспетчер задач. Посмотрите на утилиты Process Explorer, RAMMap, VMMap и Process Monitor. Чтобы получить от них максимум информации, вам может потребоваться выполнить некоторые настройки, чтобы изменить отображаемую информацию.

Кроме того, поскольку вы интересуетесь памятью Windows, вот серия постов в блоге Марка Руссиновича, одного из разработчиков и основателей Sysinternals. Это поможет разобраться в информации, которую предоставляют утилиты.

3

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

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

Вот ссылка на некоторые из доступных инструментов: http://technet.microsoft.com/en-us/library/cc749249.aspx

3

Память, вероятно, используется для ядра. Используя Process Explorer, мы можем увидеть гораздо более подробную разбивку системной памяти:

Информация о памяти ядра

Здесь я выделил объем используемой ядром памяти, которая называется Paged WS + Nonpaged, или примерно ~ 300 МБ памяти. Это только что запущенная система с открытым веб-браузером и несколькими другими открытыми приложениями, хотя при большой нагрузке моя домашняя система легко ломает 500 МБ или даже 700 МБ памяти ядра.

2

@soandos, ты учел, сколько памяти тянет видео? Вполне возможно, что видео тянет 0,73 ГБ ОЗУ. У вас есть приличная видеокарта на этой машине? Если нет, он будет использовать оперативную память, как это (насколько я знаю). Если я не прав, кто-нибудь, пожалуйста, перезвоните сюда, но я считаю, что это может быть следствием извлечения видео из ОЗУ.

1

Разница, я думаю, вы видите не в том, что инструменты не могут видеть использованную память, а в том, что это разные формы измерения. Я не могу объяснить это очень хорошо, но, к счастью, мне не нужно, Марк Руссинович из Sysinternals слава написал очень хорошую серию постов, касающихся производительности процессов в Windows. Части о физической памяти и виртуальной памяти должны объяснить, что вы видите.

0

Я думаю, что я решил это!

Я только что наткнулся на совет о RAMMap, и оказалось, что это µTorrent!

Не сам utorrent.exe , а файлы, используемые µTorrent - по крайней мере, в моем случае: один из файлов занимал более 600 МБ, а другой - более 200 МБ и т.д.

-1

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

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