60

Как можно диагностировать / обнаруживать проблемы, связанные с памятью, если диспетчер задач, кажется, не сообщает правильно?

У меня должна быть утечка памяти или что-то еще - я использую 75% памяти из 12 ГБ памяти, но списки использования памяти процессами в менеджерах задач не добавляются (да, проверено "Показывать процессы от всех пользователей" ).

Похоже, что это "фантомное" использование памяти растет в зависимости от того, как долго работала система. Это показывает, что всего 118 процессов. Помимо топ-5, все они находятся под 50 МБ.

Главный процесс - Firefox, использующий 2,6 ГБ. Adobe Premiere на 900 МБ. Плагин-контейнер на 300 МБ. Бледная луна в 275 МБ. Explorer.exe на 94 МБ.

Как в мире я могу найти то, что истощает мою память? Кажется, что диспетчер задач не видит все, что используется. Возможно, есть какая-то утечка памяти? Или программы не освобождают использованную память должным образом?

Отчеты монитора ресурсов (нажмите для увеличения):

Распечатка монитора ресурсов

НОТА:

  1. Поскольку мой основной диск ОС - это SSD, SuperFetch отключен в моей системе.
  2. И я понимаю принцип, что неиспользованный баран - это, так сказать, "впустую" баран. Однако, когда я вижу, что использование моей памяти почти используется для пиковой емкости, это мешает мне запускать / загружать последующие программы (из-за моей собственной озабоченности) и даже отправляет меня в задачу, чтобы закрыть многие из них (что вряд ли сильно повлияет на уменьшение использования памяти, по крайней мере, заметно и в короткие сроки).
  3. Когда память заполняется, я не хочу видеть, как файл подкачки размером 1 ГБ на моем SSD расширяется до установленного предела в 6 ГБ, и я "потею" от осознания того, что мой "плохой" SSD, вероятно, превращается в пыль под Windows / безудержно превращается в использование его в качестве полноценной карты памяти. (На этом примечании, я должен просто жестко ограничить файл страницы статическим 1 ГБ?)

5 ответов5

57

Обычно вы можете лучше понять, что использует вашу память с помощью таких инструментов, как RamMap.

нажмите, чтобы увеличить

Часто память может быть использована отображаемыми в памяти файлами, которые были извлечены в ОЗУ для повышения производительности.

Обратите внимание на столбец Active в RamMap. Это память, которая фактически используется в настоящее время. Показатели, касающиеся свободной памяти, часто могут вводить в заблуждение. Это включает в себя инструменты Windows, такие как диспетчер задач.

Дальнейшая информация


Я также хотел бы затронуть некоторые дополнительные моменты из вашего вопроса.

Однако, когда я вижу, что использование моей памяти почти используется для пиковой емкости, это мешает мне запускать / загружать последующие программы (из-за моей собственной озабоченности) и даже отправляет меня в задачу, чтобы закрыть многие из них (что вряд ли сильно повлияет на уменьшение использования памяти, по крайней мере, заметно и в короткие сроки).

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

Возможно, вы также используете неправильный индикатор для вашей практики. Вы хотите следить за своей фиксацией (терминология Process Explorer ).

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

Что подводит нас к нашей следующей теме.

Когда память заполняется, я не хочу видеть, как файл подкачки размером 1 ГБ на моем SSD расширяется до установленного предела в 6 ГБ, и я "потею" от осознания того, что мой "плохой" SSD, вероятно, превращается в пыль под Windows / безудержно превращается в использование его в качестве полноценной карты памяти. (На этом примечании, я должен просто жестко ограничить файл подкачки к statci 1 ГБ?)

На мой взгляд, здесь несколько вещей не так. В общем, не рекомендуется устанавливать ограничения на размер файла подкачки. Марк Руссинович объясняет это в видео, на которые я ссылался выше (намного лучше, чем я когда-либо мог).

Только плохие вещи могут прийти от этого. Что должна делать Windows, когда ей нужно выгрузить более 6 ГБ данных в файл подкачки, но вы ограничили его объемом 6 ГБ? Это серьезная проблема.

Пусть Windows обрабатывает файл подкачки. Единственное, что я настоятельно советую вам сделать, это переместить файл подкачки подальше от вашего SSD. Том Вийсман прекрасно объясняет это в своем блоге « Максимизация срока службы вашего SSD», который я рекомендую вам прочитать.

1

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

Инструмент RamMap помог мне найти причину.

Во-первых, я заметил в RamMap, что Driver Locked потребляет более 29 ГБ из моей 32 ГБ ОЗУ. Затем я обнаружил статью, в которой объясняется, что высокая загрузка памяти при блокировке драйвера может быть вызвана включенной динамической памятью HyperV, а затем я только подтвердил это.

0

Если вы видите, что моментальный снимок не показывает весь процесс, а сам процесс показа занимает 5,8 ГБ памяти. из показанного снимка видно, что запущено много ненужных фоновых программ. С помощью msconfig удалите ненужные автозагрузки программ, а также увеличьте вашу виртуальную память (в 1,5 раза вашей физической памяти).

0

Вы можете попробовать RAMMAP от Sysinternal, но он показывает использование памяти не так, как диспетчер задач и менеджер ресурсов, и поэтому не слишком полезен.

Диспетчер задач и монитор ресурсов не показывают файловый кеш и его размер. Это часть используемой части памяти (см. Resource Monitor). Файловый кеш может вырасти до ОЧЕНЬ большого размера, особенно когда компьютер работает несколько часов. Общее использование памяти программы увеличивается с течением времени в результате растущего кеша файлов и утечек памяти. Некоторые программы просто имеют паршивое управление памятью.

Одним из способов минимизации использования памяти является уменьшение количества процессов. (Почему запущено 118 процессов? Почему у вас работает несколько экземпляров Explorer.exe?)

Есть программа, которая помогает вам регулярно сокращать использование памяти и регулярно сворачивать файловый кеш. (CLEANMEM от PcWinTech). Сокращение использования памяти этим способом также уменьшает или даже устраняет необходимость для Windows записывать данные из памяти в файл подкачки (на вашем SSD). Таким образом, это увеличивает срок службы вашего SSD. Сокращение использования памяти также делает доступным больше "резервной" памяти, что позволяет Windows предварительно загружать больше файлов в резервную память, ускоряя вашу систему.

0

RAMMap показал, что сопоставленный файл C:\Windows\SoftwareDistribution\DataStore\DataStore.edb тратит 400 МБ моей драгоценной 4 ГБ оперативной памяти.

Более того, Windows Update постоянно замедлял работу системы в процессе обновления этого огромного файла.

Это может быть общей проблемой для многих младших компьютеров.

См. « Загрузки ПК», затем записывает гигантский файл datastore.edb, замедляя работу компьютера для возможного разрешения.

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