Как можно диагностировать / обнаруживать проблемы, связанные с памятью, если диспетчер задач, кажется, не сообщает правильно?
У меня должна быть утечка памяти или что-то еще - я использую 75% памяти из 12 ГБ памяти, но списки использования памяти процессами в менеджерах задач не добавляются (да, проверено «Показывать процессы от всех пользователей») ).
Похоже, что это «фантомное» использование памяти растет в зависимости от того, как долго работала система. Это показывает, что всего 118 процессов. Помимо топ-5, все они находятся под 50 МБ.
Главный процесс - Firefox, использующий 2,6 ГБ. Adobe Premiere на 900 МБ. Плагин-контейнер на 300 МБ. Бледная луна в 275 МБ. Explorer.exe на 94 МБ.
Как в мире я могу найти то, что истощает мою память? Кажется, что диспетчер задач не видит все, что используется. Возможно, есть какая-то утечка памяти? Или программы не освобождают использованную память должным образом?
Отчеты монитора ресурсов (нажмите для увеличения):
НОТА:
- Поскольку мой основной диск ОС - это SSD, SuperFetch отключен в моей системе.
- И я понимаю принцип, что неиспользованный баран - это, так сказать, «впустую» баран. Однако, когда я вижу, что использование моей памяти почти используется для пиковой емкости, это мешает мне запускать / загружать последующие программы (из-за моей собственной озабоченности) и даже отправляет меня на задачу, чтобы закрыть многие из них (что вряд ли сильно повлияет на уменьшение использования памяти, по крайней мере, заметно и в короткие сроки).
- Когда память заполняется, я не хочу видеть, как файл подкачки размером 1 ГБ на моем SSD расширяется до установленного предела в 6 ГБ, и я «потею» от осознания того, что мой «плохой» SSD, вероятно, превращается в пыль под Windows / безудержно превращается в использование его в качестве полноценной карты памяти. (На этом примечании, я должен просто жестко ограничить файл страницы статическим 1 ГБ?)
источник
Ответы:
Обычно вы можете лучше понять, что использует вашу память с помощью таких инструментов, как RamMap .
нажмите, чтобы увеличить
Часто память может использоваться файлами, отображаемыми в память, которые были извлечены в ОЗУ для повышения производительности.
Обратите внимание на столбец Active в RamMap. Это память, которая фактически используется в настоящее время. Показатели, касающиеся свободной памяти, часто могут вводить в заблуждение. Это включает в себя инструменты Windows, такие как диспетчер задач.
Дальнейшая информация
Я также хотел бы затронуть некоторые дополнительные моменты из вашего вопроса.
Твои рассуждения в порядке. Но, если вы не испытываете проблем из-за нехватки памяти, вам следует воздерживаться от этой практики. Операционная система должна справиться с этой задачей и сбросить данные в файл подкачки, когда потребуется физическая память.
Возможно, вы также используете неправильный индикатор для вашей практики. Вы хотите следить за своей фиксацией ( терминология Process Explorer ).
Заряд фиксации - это сумма всей используемой памяти. Вы можете видеть на скриншоте, есть также ограничение на это. Это ограничение - размер моей физической памяти + размер моего файла подкачки. Если этот предел будет достигнут, это будет проблемой.
Что подводит нас к нашей следующей теме.
На мой взгляд, здесь несколько вещей не так. В общем, не рекомендуется устанавливать ограничения на размер файла подкачки. Марк Руссинович объясняет это в видео, на которые я ссылался выше (намного лучше, чем я когда-либо мог).
Только плохие вещи могут прийти от этого. Что должна делать Windows, когда ей нужно выгрузить более 6 ГБ данных в файл подкачки, но вы ограничили его объемом 6 ГБ? Это серьезная проблема.
Пусть Windows обрабатывает файл подкачки. Единственное, что я настоятельно советую вам сделать, это переместить файл подкачки подальше от вашего SSD. Том Вийсман прекрасно объясняет это в своем блоге « Максимизация срока службы вашего SSD» , который я рекомендую вам прочитать.
источник
В моем случае причиной высокого использования памяти была виртуальная машина hyper-v, для которой в динамической памяти были включены параметры динамической памяти.
Инструмент RamMap помог мне найти причину.
Во-первых, я заметил в RamMap, что Driver Locked потребляет более 29 ГБ из моей 32 ГБ ОЗУ. Затем я обнаружил статью, в которой объясняется, что высокая загрузка памяти при блокировке драйвера может быть вызвана включенной динамической памятью HyperV, а затем я только что подтвердил это.
источник
Если вы видите, что моментальный снимок не показывает весь процесс, а сам процесс показа занимает 5,8 ГБ памяти. из показанного снимка видно, что запущено много ненужных фоновых программ. С помощью msconfig удалите ненужные автозагрузки программ, а также увеличьте вашу виртуальную память (в 1,5 раза вашей физической памяти).
источник
Вы можете попробовать RAMMAP от Sysinternal, но он показывает использование памяти не так, как диспетчер задач и менеджер ресурсов, и поэтому не слишком полезен.
Диспетчер задач и монитор ресурсов не показывают файловый кеш и его размер. Это часть используемой части памяти (см. Resource Monitor). Файловый кеш может вырасти до ОЧЕНЬ большого размера, особенно когда компьютер работает несколько часов. Общее использование памяти программы увеличивается с течением времени в результате растущего кеша файлов и утечек памяти. Некоторые программы просто имеют паршивое управление памятью.
Одним из способов минимизации использования памяти является уменьшение количества процессов. (Почему запущено 118 процессов? Почему у вас запущено несколько экземпляров Explorer.exe?)
Есть программа, которая помогает вам регулярно сокращать использование памяти и регулярно сворачивать файловый кеш. (CLEANMEM от PcWinTech). Сокращение использования памяти этим способом также уменьшает или даже устраняет необходимость для Windows записывать данные из памяти в файл подкачки (на вашем SSD). Таким образом, это увеличивает срок службы вашего SSD. Сокращение использования памяти также делает доступным больше «резервной» памяти, что позволяет Windows предварительно загружать больше файлов в резервную память, ускоряя вашу систему.
источник
RAMMap показал, что
C:\Windows\SoftwareDistribution\DataStore\DataStore.edb
отображенный файл тратит 400 МБ моей драгоценной 4 ГБ оперативной памяти.Более того, Windows Update постоянно замедлял работу системы в процессе обновления этого огромного файла.
Это может быть общей проблемой для многих младших компьютеров.
См. « Загрузки ПК», затем записывает гигантский файл datastore.edb, замедляя работу компьютера для возможного разрешения.
источник