Вызов memory_info_ex
:
>>> import psutil
>>> p = psutil.Process()
>>> p.name()
'python.exe'
>>> _ = p.memory_info_ex()
>>> _.wset, _.pagefile
(11665408, 8499200)
Рабочий набор включает страницы, которые совместно используются или совместно используются другими процессами, поэтому в приведенном выше Например, это на самом деле больше, чем плата фиксации файла подкачки.
Существует также более простой метод memory_info
. Это возвращает rss
и vms
, которые соответствуют wset
и pagefile
.
>>> p.memory_info()
pmem(rss=11767808, vms=8589312)
В другом примере давайте нарисуем некоторую общую память.
>>> import mmap
>>> m = mmap.mmap(-1, 10000000)
>>> p.memory_info()
pmem(rss=11792384, vms=8609792)
Отображаемые страницы получают нулевой нуль в рабочий набор.
>>> for i in range(0, len(m), 4096): m[i] = 0xaa
...
>>> p.memory_info()
pmem(rss=21807104, vms=8581120)
Частная копия берет на себя ответственность за фиксацию файла подкачки:
>>> s = m[:]
>>> p.memory_info()
pmem(rss=31830016, vms=18604032)