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

时间:2011-07-20 13:42:02

标签: objective-c cocoa memory process

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

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

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

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

有什么想法吗?

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

1 个答案:

答案 0 :(得分:0)

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