代码之家  ›  专栏  ›  技术社区  ›  Grant Limberg

以编程方式获取OS X上安装的RAM数量

  •  5
  • Grant Limberg  · 技术社区  · 15 年前

    我在一台安装了8 Gig内存的机器上工作,我试图通过编程确定机器中安装了多少内存。我已经尝试使用sysctlbyname()获取安装的内存量,但是它似乎仅限于返回一个有符号的32位整数。

    uint64_t total = 0;
    size_t size = sizeof(total);
    if( !sysctlbyname("hw.physmem", &total, &size, NULL, 0) )
         m_totalMemory = total;
    

    2 回复  |  直到 11 年前
        1
  •  8
  •   David Crawshaw    15 年前

    你可以用 sysctl() 和查询 HW_MEMSIZE 。这会将内存大小返回为64位整数,而不是默认的32位整数。

    这个 man page 提供了详细信息。

        2
  •  7
  •   Chuck    15 年前

    简单的方法:

    [[NSProcessInfo processInfo] physicalMemory]