Comment récupérez-vous la quantité de RAM physique disponible dans Objective-C?

Je parle spécifiquement de la RAM physique, je ne veux pas que les statistiques de mémoire virtuelle soient incluses. Je suis sur Mac OSX Snow leopard mais je préférerais une solution qui fonctionnerait sur toutes les plates-formes OS X (c.-à-d. Lion). J’utilise Objective-C mais les solutions en C seraient évidemment valables.

On dirait que ce que vous voulez être capable de signaler est le même que celui affiché par l’utilitaire de ligne de commande vm_stat? Si c’est le cas, il est probablement plus simple de vérifier son code source , qui fait partie des éléments fournis par Apple en tant que source ouverte.

Le code correspondant est en bas; tout host_statistics64 sur un appel à host_statistics64 , qui semble être défini via mach/mach.h Une recherche rapide de ma machine indique également qu’elle est disponible (ou du moins définie) dans iOS.

Utilisez-le pour renvoyer la quantité de RAM physique du système en octets sous la forme d’un unsigned long long :

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