【问题标题】:Why is my Cocoa app using so much virtual memory?为什么我的 Cocoa 应用程序使用这么多虚拟内存?
【发布时间】:2010-02-01 17:47:55
【问题描述】:

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

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

【问题讨论】:

    标签: cocoa memory-management


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      不是。

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

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

      【讨论】:

        猜你喜欢
        • 2010-10-16
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        • 1970-01-01
        • 2011-07-17
        • 2011-08-06
        • 1970-01-01
        • 2011-09-20
        相关资源
        最近更新 更多