Недавно обнаружил, что Firefox потребляет какое-то неадекватное количество видеопамяти - даже хотел оформить по этому поводу вопрос, но отложил. Буквально час назад упал dwm.exe - предположительно, из-за того, что перестало хватать VRAM (или RAM+pagefile, куда в моем представлении свопятся излишки данных из VRAM).
Вот такая картина у меня сейчас в диспетчере задач Такая была в прошлый раз
По вкладкам
GPU и
RAM.
В 17 гигабайт я сначала тоже не поверил - пришлось перепроверять.
Ошибки из просмотра событий
Всплывающее окно приложения: Windows - Нехватка виртуальной памяти : Свободная виртуальная память системы заканчивается. Чтобы обеспечить нормальную работы Windows, увеличьте размер файла подкачки виртуальной памяти. Дополнительные сведения содержатся во встроенной справке.
Нехватка виртуальной памяти в системе успешно обнаружена. Наибольший объем виртуальной памяти был выделен следующим программам: для ffmpeg.exe (13668) выделено 2822156288 байт, для firefox.exe (14344) выделено 1074171904 байт и для dwm.exe (1536) выделено 966758400 байт.
После чего DWM успешно грохнулся и перезапустился.
Итак, собственно, вопрос: как проверить, имеет ли место быть проблема утечки памяти? В том числе внутри браузера? Покопался в самых разнообразных about:... но там есть только информация по потреблению памяти (либо я не нашел GPU).
Кто виноват и что делать?
UP:
Уточняю, нашел в about:memory GPU, но он не признаётся, куда дел 4+ гига видеопамяти.
GPU (pid 14524)
Explicit Allocations
4.98 MB (100.0%) -- explicit
├──3.44 MB (68.95%) ── heap-unclassified
├──1.12 MB (22.55%) -- heap-overhead
│ ├──0.58 MB (11.60%) ── page-cache
│ ├──0.47 MB (09.40%) ── bin-unused
│ └──0.08 MB (01.55%) ── bookkeeping
├──0.15 MB (02.98%) ── telemetry
├──0.14 MB (02.76%) -- xpcom
│ ├──0.13 MB (02.54%) ── component-manager
│ └──0.01 MB (00.21%) ── category-manager
├──0.14 MB (02.74%) -- atoms
│ ├──0.14 MB (02.74%) ── table
│ └──0.00 MB (00.00%) ── dynamic-objects-and-chars
└──0.00 MB (00.02%) ── profiler/profiler-state
Other Measurements
134,217,727.94 MB (100.0%) -- address-space
├──132,114,937.90 MB (98.43%) ── free(segments=180)
├────2,101,664.39 MB (01.57%) -- reserved
│ ├──2,097,130.29 MB (01.56%) ── mapped(segments=13)
│ └──────4,534.10 MB (00.00%) ── private(segments=253)
└────────1,125.65 MB (00.00%) ++ commit
4.98 MB (100.0%) -- heap-committed
├──3.86 MB (77.45%) ── allocated
└──1.12 MB (22.55%) ── overhead
12 (100.0%) -- observer-service
└──12 (100.0%) -- referent
├──11 (91.67%) ── strong
└───1 (08.33%) -- weak
├──1 (08.33%) ── alive
└──0 (00.00%) ── dead
0.02 MB ── gfx-surface-win32
3.86 MB ── heap-allocated
1.00 MB ── heap-chunksize
6.00 MB ── heap-mapped
720.89 MB ── private
331.38 MB ── resident
217.29 MB ── resident-unique
21.67 MB ── system-heap-allocated
2,102,790.04 MB ── vsize
130,272,180.56 MB ── vsize-max-contiguous
End of GPU (pid 14524)
Если, конечно, диспетчер задач не обманывает. Впрочем, он вряд ли обманывает, ведь AIDA тоже говорит, что использовано 9+ гигабайт прямо сейчас. Я не из тех, кто трясется над каждым мегабайтом памяти, но в тоже время мне кажется, что VRAM так улетать в один браузер не должна.