为什么我的Cocoa应用程序使用了如此多的虚拟内存?

时间:2010-02-01 17:47:55

标签: cocoa memory-management

我写了一个简单的Cocoa应用程序。在Activity Monitor中,它显示使用的虚拟内存比所有其他应用程序多得多:304.6MB。 (它从一开始就使用它,所以我认为这不是内存泄漏/管理问题)。就像Firefox,Mail等只使用30MB-60MB左右。我的应用程序使用13MB实内存。

我正在使用垃圾收集。我链接到AppKit.framework。 这是正常的还是我做错了什么?

2 个答案:

答案 0 :(得分:5)

进程的“虚拟内存”统计信息会计算进程映射的所有内容。这包括任何共享库等(这些内存页面与其他进程共享)。要了解您的进程实际分配了多少内存,请查看“Real Private Memory”统计信息。

答案 1 :(得分:2)

不是。

每个垃圾收集的应用程序在VPRVT(活动监视器中的“虚拟内存”)和VSIZE列下获得非常大的数字。这是正常的,无害的。您的应用程序的实际内存使用情况位于“Real Memory”下。

请参阅this post on cocoa-dev by Bill Bumgarner,他解释了为什么垃圾收集的应用似乎使用了这么多内存。