Process Explorer: что показывает график истории коммитов? - PullRequest
14 голосов
/ 06 июля 2011

На графике Память , доступном в Обозреватель процессов , верхний график показывает История коммитов .Что это означает на уровне операционной системы?

Чтобы поэкспериментировать, если это память, выделенная процессу в куче, я написал небольшую программу, которая постепенно увеличивала размер 100 МБ.График хронологии коммитов некоторое время увеличивался (до 1,7 ГБ выделения памяти) и после этого не увеличивался, несмотря на то, что программа выделяла память.

Итак, что указывает этот график?Как эту информацию можно использовать для понимания / анализа состояния Windows?

1 Ответ

20 голосов
/ 24 октября 2011

Уровень фиксации - это объем анонимного виртуального адресного пространства, выделенного для всех процессов в системе.(Он не включает в себя виртуальное адресное пространство с файловой поддержкой, например, из файла mmap'd.) В проводнике процессов на графике «Фиксация истории» показан размер этого значения с течением времени.

Из-заспособ, которым виртуальная память выделяется и распределяется (фактическое ОЗУ, поддерживающее страницу виртуального адресного пространства, не обязательно выделяется до первого прикосновения), этот текущий уровень 'commit' представляет наихудший случай (на данный момент) памяти, которыйСистема, возможно, придется придумать.В отличие от Linux, Windows не будет выдавать обещания (адресное пространство) для оперативной памяти, которую она не может придумать или подделать (через файл подкачки).Таким образом, как только уровень фиксации достигнет предела для системы (примерно ОЗУ + размер файла подкачки), новое выделение адресного пространства не удастся (но новое использование существующих областей виртуального адресного пространства не завершится неудачей).

Некоторые выводыо вашей системе, которую вы можете извлечь из этого значения:

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

Ваш эксперимент подтвердил это.Я подозреваю, что вы столкнулись с ограничениями адресного пространства (32-разрядные процессы в Windows ограничены 2 ГБ ... может быть, 300 МБ исчезли из-за фрагментации, библиотек и текста?).

...