Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void logMemoryUsage(void)
- {
- static natural_t initialUsed = 0xFFFFFFFF;
- static natural_t previousUsed = 0xFFFFFFFF;
- mach_port_t host_port = mach_host_self();
- mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
- vm_size_t pagesize;
- vm_statistics_data_t vm_stat;
- host_page_size(host_port, &pagesize);
- if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS)
- {
- NSLog(@"Failed to fetch vm statistics");
- }
- natural_t memUsed = (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count) * pagesize;
- natural_t memFree = vm_stat.free_count * pagesize;
- natural_t memTotal = memUsed + memFree;
- if (initialUsed == 0xFFFFFFFF)
- {
- initialUsed = memUsed;
- }
- if (previousUsed == 0xFFFFFFFF)
- {
- previousUsed = memUsed;
- }
- NSLog(@"Memory usage (KB): app %d, delta %d, used %u/%u",
- ((int)memUsed - (int)initialUsed) / 1024,
- ((int)memUsed - (int)previousUsed) / 1024,
- memUsed / 1024,
- memTotal / 1024);
- previousUsed = memUsed;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement