Операционные системы - статьи

         

Контроль утечки памяти


Первые два счетчика в , Process:Working Set и Process: Pagefile Bytes, дают возможность контролировать уровень потребления памяти приложением. Счетчик Working Set - важный показатель эффективности работы программы, поскольку позволяет определить, сколько физической памяти (т. е. реальных страниц ОЗУ) она занимает. Постоянно отслеживая значение счетчика, можно обнаружить вызываемые приложением утечки памяти. Если, как показано на Экране 1, наблюдается постоянное увеличение показаний счетчика, значит, приложение не обеспечивает корректного освобождения ранее выделенной для него памяти. Однако при этом важно понимать алгоритм работы приложения. Например, если я оставлю в памяти компьютера не выполняющую никаких задач копию Microsoft Word, а ее рабочее пространство будет непрерывно увеличиваться, то можно быть уверенным, что Word инициирует утечки памяти. Однако, когда на моем компьютере функционирует программа сбора данных, размещающая информацию в массивах увеличивающихся размеров, прирост значения Working Set ее процесса будет вполне оправданным (хотя, возможно, и нежелательным).

ЭКРАН 1. Наблюдение за счетчиком Working Set.

Значение счетчика Process:Pagefile Bytes весьма точно следует за изменением размера рабочего пространства приложения, увеличиваясь по мере роста объема потребляемой приложением памяти. Например, при использовании Working Set для контроля за работой приложения, порождающего утечки памяти, видно, что значение счетчика PageFile Bytes будет находиться в близкой к линейной зависимости от Working Set.



Содержание раздела