Частные байты и рабочий набор в Process Explorer

Я знаю, что рабочий набор-это фактический объем памяти, используемый процессом, а также, что частные байты-это сумма, отложенная на всякий случай, если ей нужно больше.

Так я бы добавил два, чтобы выяснить, сколько памяти на самом деле отнимается от других процессов в системе?

28
задан Scandalist
23.05.2023 10:16 Количество просмотров материала 3351
Распечатать страницу

1 ответ

Я боюсь, что это не так просто. В частности, Private bytes не очень полезен для ответа на поставленный Вами вопрос.

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

рабочий set - размер страниц, принадлежащих процессу, которые в данный момент хранятся в основной памяти. При перемещении страницы памяти, используемой процессом, в файл подкачки она удаляется из метрики рабочего набора, а при ее вызове обратно в основную память-снова добавляется.

рабочий набор не только обратиться к памяти, однако владеет. процессы используют много объектов общей памяти, и размер этих объектов отражается в статистике. к сожалению, когда два процессы совместно используют объект 1 МБ, оба их процесса показывают выделение 1 МБ в рабочем наборе, поэтому, если вы добавили все рабочие наборы, объект 1 МБ будет записан дважды, поэтому накопление всех ваших размеров рабочего набора может в крайних случаях превысить размер доступной оперативной памяти. подробнее можно посмотреть здесь: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

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

Private bytes однако относится только к частной памяти процессов, поэтому это значение может не отражать общие ресурсы (даже если общий ресурс используется только этот процесс в настоящее время).

"рабочий набор Private" ("WS Private bytes" или "Private WS" в Process explorer в зависимости от версии), вероятно, является лучшей метрикой для вашего использования. он не имеет отношения к файлу подкачки, поэтому вы получаете точное представление о влиянии процессов на ваш физический ОЗУ, и это не вдвойне-подсчет общих объектов. общие объекты подсчитываются один раз (только для процесса, который их создал), но это также означает, что с точки зрения одного процесса вы не записывая, что процесс использует общие объекты, созданные другим процессом, процесс может использовать больше оперативной памяти на другом компьютере или в ситуации, когда требуется создать сам общий объект вместо использования другого экземпляра процесса. Диспетчер задач Windows использует working set private в качестве метрики использования памяти.

надеюсь, что это поможет

44
отвечен Frank Thomas 2023-05-24 18:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх