Calculating free memory on an iPhone

This forum is intended to enable people developing products using the PISD Libraries to recieve easy technical support and also to ask general questions about the libraries to other people using them.
Post Reply
User avatar
PISD Support
Moderator
Posts: 26
Joined: Thu 21 May, 2009 4:19 pm

Calculating free memory on an iPhone

Post by PISD Support »

To calculate the amount of memory left free on the iPhone use this handy code snippet*:

Code: Select all

static void print_free_memory( void ) 
{
    mach_port_t host_port;
    mach_msg_type_number_t host_size;
    vm_size_t pagesize;
 
    host_port = mach_host_self();
    host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
    host_page_size(host_port, &pagesize);        
 
    vm_statistics_data_t vm_stat;
 
    if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS)
    {
        NSLog(@"Failed to fetch vm statistics");
    }

    /* Stats in bytes */
    natural_t mem_used = (vm_stat.active_count +
                          vm_stat.inactive_count +
                          vm_stat.wire_count) * pagesize;
    natural_t mem_free = vm_stat.free_count * pagesize;
    natural_t mem_total = mem_used + mem_free;
    NSLog(@"used: %u free: %u total: %u", mem_used, mem_free, mem_total);

} // print_free_memory()
*Taken from http://www.gauravv.com/2009/11/27/iphon ... ee-memory/
Post Reply