代码之家  ›  专栏  ›  技术社区  ›  Nick Moore Wain

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

  •  0
  • Nick Moore Wain  · 技术社区  · 15 年前

    我写了一个简单的可可应用程序。在活动监视器中,它使用的虚拟内存比所有其他应用程序都要多:304.6MB。(它从一开始就使用这个,所以我不认为这是内存泄漏/管理问题)。像firefox、mail等只使用30MB-60MB左右。我的应用程序使用13MB的实际内存。

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

    2 回复  |  直到 15 年前
        1
  •  2
  •   Peter Hosey    15 年前

    不是这样。

    每个垃圾收集的应用程序在活动监视器中的vprvt(virtual memory)和vsize列下都会得到大量的数据。这是正常无害的。应用程序的实际内存使用量低于__real memory_。

    this post on cocoa-dev by Bill Bumgarner 他解释了垃圾收集应用程序的原因 似乎 用这么多的内存。

        2
  •  5
  •   VoidPointer    15 年前

    进程的“虚拟内存”状态统计进程映射的所有内容。这包括任何共享库等等(这些内存页与其他进程共享)。要了解进程实际私人分配了多少内存,请查看“real private memory”状态。