Виртуальная и физическая утечка памяти

StackOverflow https://stackoverflow.com/questions/4444672

  •  10-10-2019
  •  | 
  •  

Вопрос

Мне просто трудно понять разницу между вирутовой памятью и физической утечкой памяти с точки зрения отладки .NET .NET.

Может ли кто -нибудь уточнить эту концепцию с примером, как мы можем иметь только один тип утечки, а не другой.

Тиа

Это было полезно?

Решение

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

Физическая память обычно потребляется только тогда, когда программа обращается к виртуальной памяти, для которой ОС должна обеспечить физическую память. Это редко протекает независимо от виртуальной памяти, поскольку она находится под управлением ОС.

OTOH, программа может использовать больший контроль над распределением физической памяти, заставляя определенные страницы виртуальной памяти оставаться на карту с физической памятью (механизмы для этого различаются между OSES). В таких случаях программа Buggy может протекать физическую память.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top