Как вы получаете объем свободной физической памяти в Objective-C? - PullRequest
3 голосов
/ 05 февраля 2012

Я специально говорю о физической памяти, я не хочу, чтобы статистика виртуальной памяти была включена. Я использую Mac OSX Snow Leopard, но предпочел бы решение, которое будет работать на ВСЕХ платформах OS X (т.е. Lion). Я использую Objective-C, но решения в C также, очевидно, будут действительны.

Ответы [ 2 ]

4 голосов
/ 05 февраля 2012

Похоже, что вы хотите иметь возможность сообщать о том же материале, что утилита командной строки vm_stat отображает?Если это так, то, вероятно, проще всего просто проверить его исходный код , который входит в число материалов, предоставляемых Apple в качестве открытого источника.

Соответствующий код находится внизу;все возвращается к вызову host_statistics64, который, кажется, определяется через mach/mach.h.Быстрый поиск моей машины показывает, что она также доступна (или, по крайней мере, определена) в iOS.

1 голос
/ 15 августа 2013

Используйте это, чтобы вернуть объем физической памяти системы в байтах в виде unsigned long long целого числа:

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