Как мне найти то, что поглощает всю память моей системы? (не SuperFetch)

62

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

У меня должна быть утечка памяти или что-то еще - я использую 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 ГБ?)
Coldblackice
источник
4
просто признак: используемая оперативная память сама по себе неплохая вещь. умное кэширование вещей часто ускоряет вещи. если у вас нет такой проблемы, как «о боже, программа xyz запускается так медленно, что я едва справлюсь с ней, поскольку из-за нее приходится выбрасывать другие вещи из памяти» ... тогда это может быть совсем не проблемой.
Акира
Спасибо, но так как SuperFetch отключен в моей системе (с основным дисководом ОС SSD), вопрос в другом. Обновление оригинального вопроса.
Coldblackice
@Coldblackice То, что один (непринятый) ответ не поможет вам, не означает, что это не тот же вопрос. ОП другого вопроса даже сказал, что изменение SuperFetch не помогло. :)
Ƭᴇcʜιᴇ007
Верно, но это не правильный ответ в этом случае, что вызывает необходимость в другом вопросе. Вопрос обновлен для отражения этого конкретного.
Coldblackice

Ответы:

58

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

введите описание изображения здесьнажмите, чтобы увеличить

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

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

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


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

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

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

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

введите описание изображения здесь

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

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

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

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

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

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

Der Hochstapler
источник
1
Ааа, понятно. Да, «фантомное» использование памяти происходит из категории Mapped File (и, в частности, из этого столбца Standby). Таким образом, диспетчер задач не сообщает об отображении этих файлов, просто что используется память?
Coldblackice
2
Спасибо за помощь и дополнение. Что касается вашей заметки о файле подкачки и SSD - я слышал прямо противоположное (и, следовательно, почему у меня так оно и есть). Не говоря уж о том, что у меня есть определенное «право» каким-либо образом, но я читал, что файл подкачки -best- на SSD из-за преимуществ скорости SSD. А что касается ухудшения жизни SSD, я слышал, что это незначительно, пока файл подкачки ограничен.
Coldblackice
1
Что касается того, чтобы позволить Windows управлять этим - Windows хочет, чтобы мой файл подкачки увеличился до 18 ГБ! К сожалению, я не могу позволить себе такое количество места на моем SSD для подкачки. Я предполагал, что 12 ГБ памяти будет более чем достаточно для работы Windows, и эта память, как ни странно, кажется, что Windows быстро выскальзывает из доступной, насколько это возможно, кешируя все, что может достать :) Таким образом, я боюсь, что, если я позволю ему иметь настолько большой файл подкачки, который ему нужен, он найдет достаточно файлов для сопоставления с памятью, чтобы быстро соединиться с полным заполнением файла подкачки.
Coldblackice
1
@Coldblackice: извините, я не смог вас убедить. Пожалуйста, возьмите только одну вещь из этого, очень мало людей, которые имеют правильное понимание управления памятью Windows. Тем не менее, многие люди быстро предлагают рекомендации (очевидно, включая меня). Спросите себя, если ограничение размера файла подкачки полезно, почему это не по умолчанию? Кроме того, сопоставленный с памятью файл вряд ли будет выгружен в файл подкачки, поскольку он уже существует в файле (тот, который был сопоставлен с памятью). Так что ваш страх в этом отношении, скорее всего, неуместен.
Der Hochstapler
1
@ Оливер Зальцбург, следует иметь в виду, что Windows 7 была разработана для получения ржавчины, а не твердотельных накопителей и 1-4 ГБ ОЗУ, а не 12. Это не Евангелие, должно быть очевидно, что бывают случаи, когда один размер Подходящие для всех значения по умолчанию не применяются, и решение состоит не в том, чтобы продолжать настаивать на том, чтобы не думать об этом и никогда не трогать эти значения по умолчанию, независимо от того, когда кто-то хочет более глубоко понять проблему. Это хорошо для новичков, но не для всех.
SilverbackNet
2

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

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

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

Драган Николич
источник
0

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

тики
источник
Как вы увеличиваете свою виртуальную память ? И что за фактор 1,5?
Der Hochstapler
Хотя увеличение виртуальной памяти (за счет увеличения размера файла подкачки) является ценным, это может привести только к большому количеству подкачки страниц, что замедлит работу машины. Если все ненужные программы не были запущены, лучше всего установить больше оперативной памяти.
Фран
Чтобы увеличить вашу виртуальную память, следуйте по пути: перейдите в «Свойства моего компьютера» -> выберите «Дополнительные параметры системы» -> перейдите на вкладку «Дополнительно» -> выберите «Настройки» в разделе «Производительность» -> перейдите на вкладку «Дополнительные параметры» -> в разделе «Виртуальная память». Выберите Изменить-> Выбрать нестандартный размер, чтобы задать мин. и макс. размер ...... Рекомендуется увеличить вашу виртуальную память до 1,5x вашей физической памяти (например: если у вас 4 ГБ ОЗУ, вы можете выделить до 6 ГБ виртуальной памяти). Но предложение французов тоже верно. Пожалуйста, постарайтесь свести к минимуму ненужное фоновое приложение.
Тики
Итак, доказано ли, что в целом лучше увеличивать или уменьшать файл подкачки с точки зрения общей производительности? 1.5x действительно необходим?
Coldblackice
0

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

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

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

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

Willy2
источник
1
Вы связаны с этим программным обеспечением? Последний абзац звучит так, как будто со мной разговаривают по маркетингу, и я вижу, что вы рекомендуете то же самое на двух старых постах.
Арьян
1
Да, я помог автору программы улучшить программу. Но у меня нет никаких (финансовых) причин для продвижения программы, потому что программа бесплатная.
Willy2
0

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

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

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

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

Vadzim
источник