Моя цель — просто перечислить 5 основных процессов, потребляющих память, и точно определить, сколько памяти они «используют». Я прочитал документы, и кажется, что process.memory_info().rss
- это то, что я хочу, однако это число выходит значительно меньше, чем то, что мне говорит диспетчер задач Windows, находится в «Частном рабочем наборе».
Даже когда я перечисляю все содержимое memory_info
, ни одно из значений даже не приближается к значениям диспетчера задач.
Из статей Джампало я понял, что это сложная тема, и я очень мало знаю о системной памяти. Однако простота того, что мне нужно, - это получить число из psutil, которое соответствует диспетчеру задач Windows (мне не нужны все остальные метрики). Как я могу получить/вычислить это?
ПРИМЕР
from pprint import pprint as pp
import psutil
procs = [(proc.info['name'], proc.info['memory_full_info']) for proc in psutil.process_iter(attrs=['name', 'memory_full_info'])]
pp(procs)
Дает мне следующие данные для «AfterFX.exe»:
('AfterFX.exe', pfullmem(rss=4294967295L, vms=4294967295L, num_page_faults=42058243, peak_wset=4294967295L, wset=4294967295L, peak_paged_pool=2791656, paged_pool=2657304, peak_nonpaged_pool=13270384, nonpaged_pool=13147944, pagefile=4294967295L, peak_pagefile=4294967295L, private=4294967295L, uss=376668160L)),
Тем не менее, диспетчер задач дает мне: AfterFX.exe 50 561 764 КБ