内存映射

Process.memory_maps(grouped=True) - 原文

将进程的映射内存区域作为命名元组列表返回,其字段根据平台而变化。 此方法可用于获取进程内存使用情况的详细表示,如此处所述(最重要的值是“私有(private)”内存)。如果 groupedTrue,则具有相同路径的映射区域将组合在一起,并且将不同的内存字段相加。如果 groupedFalse ,则每个映射区域都显示为单个实体,命名元组还将包括映射区域的地址空间 (addr) 和权限集 (perms)。 有关示例应用程序,请参阅 pmap.py

LinuxWindowsFreeBSDSolaris
rssrssrssrss
size-privateanonymous
pss-ref_countlocked
shared_clean-shadow_count-
shared_dirty---
private_clean---
private_dirty---
referenced---
anonymous---
swap---
>>> import psutil
>>> p = psutil.Process()
>>> p.memory_maps()
[pmmap_grouped(path='/lib/x8664-linux-gnu/libutil-2.15.so', rss=32768, size=2125824, pss=32768, shared_clean=0, shared_dirty=0, private_clean=20480, private_dirty=12288, referenced=32768, anonymous=12288, swap=0),
pmmap_grouped(path='/lib/x8664-linux-gnu/libc-2.15.so', rss=3821568, size=3842048, pss=3821568, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=3821568, referenced=3575808, anonymous=3821568, swap=0),
...]

可用平台: Linux, Windows, FreeBSD, SunOS。

5.6.0 版本中修改: 删除 macOS 支持,因为天生就坏了(参见问题#1291)