我的目标只是列出占用内存的前5个进程,以及它们“正在使用”的确切内存量。我已经阅读了文档,似乎process.memory_info().rss
似乎是我想要的,但是这个数字明显小于Windows任务管理员告诉我的“私人工作集”。
即使我列出memory_info
的全部内容,也没有任何值接近任务管理器的值。
我从阅读Giampalo的文章中意识到这是一个复杂的话题,我对系统内存知之甚少。然而,我需要的简单性是从psutil中获取一个匹配Windows任务管理器的数字(我不需要所有其他的metics)。我怎样才能得到/计算这个?
示例
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 K
答案 0 :(得分:0)
我正在通过手机写信,所以我无法将您的特定文档链接到memory_full_info()。应该是您正在寻找的内容。