如何检索Objective-C中的可用物理RAM量?

时间:2012-02-05 00:54:01

标签: objective-c c macos unix memory

我特别谈论物理RAM,我不希望包含虚拟内存统计信息。我在Mac OSX Snow leopard上,但更喜欢适用于所有OS X平台(即Lion)的解决方案。我使用的是Objective-C,但C中的解决方案显然也是有效的。

2 个答案:

答案 0 :(得分:4)

听起来您希望能够报告的内容与命令行实用程序vm_stat显示的内容相同吗?如果是这样的话,那么对于check out its source code来说这可能是最简单的,这是Apple提供的开源之源。

相关代码位于底部;这一切都依赖于对host_statistics64的调用,这似乎是通过mach/mach.h定义的。快速搜索我的机器显示它也可以在iOS中使用(或至少定义)。

答案 1 :(得分:1)

使用此命令以字节为单位返回系统的物理RAM量unsigned long long整数:

-(unsigned long long)getPhysicalMemoryValue{
    NSProcessInfo *pinfo = [NSProcessInfo processInfo];
    return [pinfo physicalMemory];
}