在Cocoa/Objectice-C中测量进程的内存使用情况?

N..*_*N.. 6 memory cocoa process objective-c

我想创建一个能够显示Google Chrome使用的RAM量的程序.Chrome会为每个标签和每个插件/扩展程序(基本上)使用一个进程,因此您无法一眼就知道活动监视器所占用的RAM量.

我的想法是给程序命名进程(Chrome),它将搜索每个子进程.然后我将添加所有父级进程占用的内存量以获得我的答案.

问题是:我找不到一个可以给我一个进程占用的内存量的类.

我找到了一种从应用程序名称中获取PID的方法(反之亦然),用C 语言编写的示例代码PIDFromBSDProcessName.但我无法在NSRunningApplication,NSSTSpace类的NSTask中找到内存.

任何的想法?

如果您有任何建议,我也很乐意阅读!

iai*_*ain 0

一个问题是,应用程序很难检测到各个进程之间可能存在一些共享内存。此外,如果它将书签/历史数据库之类的文件也映射到内存中,那么它看起来就像是普通内存一样,使得这样的工具非常不准确。