Я пытаюсь использовать служебную программу perfmon для отладки утечек памяти в процессе.
Вот как perfmon объясняет термины:
Рабочий набор - текущий размер в байтах рабочего набора этого процесса. Рабочий набор - это набор страниц памяти, недавно затронутых потоками процесса. Если свободная память на компьютере превышает пороговое значение, страницы остаются в рабочем наборе процесса, даже если они не используются. Когда свободная память опускается ниже порога, страницы обрезаются из рабочих наборов. Если они понадобятся, они затем будут с мягкой ошибкой возвращаться в рабочий набор перед выходом из основной памяти.
Виртуальные байты - это текущий размер в байтах виртуального адресного пространства, которое использует этот процесс. Использование виртуального адресного пространства необязательно подразумевает соответствующее использование страниц диска или основной памяти. Виртуальное пространство конечно, и процесс может ограничить его способность загружать библиотеки.
Частные байты - это текущий размер в байтах памяти, выделенный этим процессом, который не может использоваться совместно с другими процессами.
Вот те вопросы, которые у меня есть:
Является ли это частным байтом, который я должен измерить, чтобы убедиться, что процесс имеет какие-либо утечки, поскольку он не включает какие-либо разделяемые библиотеки, и любые утечки, если это произойдет, будут поступать из самого процесса?
Какова общая память, потребляемая процессом? Это виртуальные байты или это сумма виртуальных байтов и рабочего набора?
Есть ли связь между частными байтами, рабочим набором и виртуальными байтами?
Существуют ли какие-либо другие инструменты, которые дают лучшее представление об использовании памяти?