ios iPhone/iPad 实时获取内存使用情况
2012-12-04 10:54
453 查看
bool UserProfile::GetMemory(double & free2, double & total2)
{
size_t length;
int mib[6];
int result;
int pagesize;
mib[0] = CTL_HW;
mib[1] = HW_PAGESIZE;
length = sizeof(pagesize);
if (sysctl(mib, 2, &pagesize, &length, NULL, 0) < 0)
{
perror("getting page size");
}
mach_msg_type_number_t count = HOST_VM_INFO_COUNT;
vm_statistics_data_t vmstat;
if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmstat, &count) != KERN_SUCCESS)
{
//RayLog("Failed to get VM statistics.");
}
double total = vmstat.wire_count + vmstat.active_count + vmstat.inactive_count + vmstat.free_count;
double wired = vmstat.wire_count / total;
double active = vmstat.active_count / total;
double inactive = vmstat.inactive_count / total;
double free = vmstat.free_count / total;
mib[0] = CTL_HW;
mib[1] = HW_PHYSMEM;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting physical memory");
}
mib[0] = CTL_HW;
mib[1] = HW_USERMEM;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting user memory");
}
free2 = vmstat.free_count * pagesize;
total2 = total * pagesize;
return true;
}
转自:http://hi.baidu.com/_violet_moon/item/c27bcf3d3d1cb3677d034be2
{
size_t length;
int mib[6];
int result;
int pagesize;
mib[0] = CTL_HW;
mib[1] = HW_PAGESIZE;
length = sizeof(pagesize);
if (sysctl(mib, 2, &pagesize, &length, NULL, 0) < 0)
{
perror("getting page size");
}
mach_msg_type_number_t count = HOST_VM_INFO_COUNT;
vm_statistics_data_t vmstat;
if (host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmstat, &count) != KERN_SUCCESS)
{
//RayLog("Failed to get VM statistics.");
}
double total = vmstat.wire_count + vmstat.active_count + vmstat.inactive_count + vmstat.free_count;
double wired = vmstat.wire_count / total;
double active = vmstat.active_count / total;
double inactive = vmstat.inactive_count / total;
double free = vmstat.free_count / total;
mib[0] = CTL_HW;
mib[1] = HW_PHYSMEM;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting physical memory");
}
mib[0] = CTL_HW;
mib[1] = HW_USERMEM;
length = sizeof(result);
if (sysctl(mib, 2, &result, &length, NULL, 0) < 0)
{
perror("getting user memory");
}
free2 = vmstat.free_count * pagesize;
total2 = total * pagesize;
return true;
}
转自:http://hi.baidu.com/_violet_moon/item/c27bcf3d3d1cb3677d034be2
相关文章推荐
- iOS获取设备流量使用情况 iPhone Data Usage Tracking/Monitoring
- 获取iOS内存使用情况
- iOS获取设备流量使用情况 iPhone Data Usage Tracking/Monitoring
- 转载:iOS获取设备流量使用情况 iPhone Data Usage Tracking/Monitoring
- 写出方法获取ios内存使用情况。
- iOS开发--用方法获取内存使用情况
- iOS获取设备流量使用情况 iPhone Data Usage Tracking/Monitoring
- 获取当前ios设备的内存使用情况,获取客户端ip地址
- 获取iOS内存的使用情况
- 写出方法获取ios内存使用情况
- iOS 获取当前内存使用情况
- 【IOS】IOS 获取当前内存使用情况
- 获取ios内存使用情况
- WebSocket入门教程(四)-- WebSocket实例:实时获取服务器内存使用情况(优化一)
- WebSocket入门教程(三)-- WebSocket实例:实时获取服务器内存使用情况
- iOS获取设备流量使用情况 iPhone Data Usage Tracking/Monitoring
- 写出方法获取ios内存使用情况
- Windows下用C语言获取进程cpu使用率,内存使用,IO情况
- 获取系统CPU及内存使用情况
- 使用代码跟踪iOS App的内存使用情况