http://windows.microsoft.com/en-us/windows/what-task-manager-memory-columns-mean#1TC=windows-7
Если я правильно понял, нет способа узнать, сколько свопа используется процессом. Это правильно, или я что-то упускаю?
Фактически, это Memory (Private Working Set)
сумма как памяти в памяти, так и подкачки, используемой процессом? Да/Нет?
И Commit Size
фактически бессмысленно, так как в описании упоминается, что это виртуальная память, иВиртуальная память сама по себе бесплатна.?
Для пользователя UNIX эта терминология и описания Microsoft кажутся довольно запутанными.
решение1
Монитор производительности (perfmon.exe) имеет счетчики использования файла подкачки процессов.
- Загрузите perfmon, запустив «perfmon» в командной строке или выбрав «Performance Monitor» в разделе «Администрирование».
- Разверните «Инструменты мониторинга» в левом столбце и выберите «Монитор производительности».
- Щелкните правой кнопкой мыши по графику справа и выберите «Добавить счетчики».
- Прокрутите список доступных счетчиков до пункта «Процесс».
- Нажмите на значок со стрелкой вниз справа от «Процесс».
- Нажмите «Байты файла подкачки» в разделе «Процесс».
- Выберите нужный процесс для мониторинга из списка «Экземпляры выбранных объектов».
- Нажмите кнопку «Добавить», чтобы поместить счетчик в список «Добавленные счетчики» справа.
- Нажмите кнопку «ОК».
Это добавит строку, которая отображает график использования файла подкачки выбранным процессом, поэтому это может быть не очень полезно. Вы можете использовать PowerShell для извлечения данных в числовом виде:
Get-Counter '\Process(<process name>)\Page File Bytes'
Где <process name>
имя процесса согласно Windows. Вы можете получить их все, используя подстановочный знак:
Get-Counter '\Process(*)\Page File Bytes'
Будут перечислены все процессы, а общее использование для всех процессов будет указано внизу с именем процесса «_total».
Замените другие счетчики процессов, чтобы получить нужные вам показатели памяти.