Created
March 12, 2014 20:45
-
-
Save sergeytimoshin/9515917 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import <mach/mach_host.h> | |
int get_platform_memory_limit() | |
{ | |
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) { | |
return 50000000; // Default: 50 MB (This is a fairly safe value across current iOS devices) | |
} else { | |
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; | |
// Return 10% of total memory (bytes) | |
return (int)mem_total / 10; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment