2014-10-13 4 views
5

osx 10.9 이상에서 활동 모니터 디스플레이와 같은 메모리 사용을 찾는 방법. 다음 코드를 사용하여 메모리 사용을 가져 왔습니다.어떻게 맥 OSX에서 메모리 사용량을 찾을 수 있습니까?

하지만 활동 모니터에 표시되는 것과이 코드에서 무엇을 찾을 수 있는지는 약간의 차이가 있습니다.

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_statistics64_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"); 
} 
float free_count = vm_stat.free_count * pagesize; 

float active_count=vm_stat.active_count *pagesize; 

float inactive_count=vm_stat.inactive_count * pagesize; 

float wire_used=vm_stat.wire_count *pagesize; 

float zero_fill_count=vm_stat.zero_fill_count * pagesize; 

float reactivations=vm_stat.reactivations *pagesize; 

float pageins=vm_stat.pageins *pagesize; 

float pageouts=vm_stat.pageouts *pagesize; 

float faults=vm_stat.faults *pagesize; 

float cow_faults=vm_stat.cow_faults * pagesize; 

float lookups=vm_stat.lookups *pagesize; 

float hits=vm_stat.hits * pagesize; 

float purgeable_count=vm_stat.purgeable_count * pagesize; 

float purges=vm_stat.purges *pagesize; 

float speculative_count=vm_stat.speculative_count *pagesize; 

또한 App 메모리, 파일 캐시, 유선 메모리 및 압축 메모리로 고려해야 할 사항이 궁금합니다.

이 코드를 사용하여 얻은 유선 전화 번호는 활동 모니터에 표시하는 것과 같습니다.

나를 도와 줄 수 있습니까? 감사합니다

+0

+1 Tks. 굉장한 질문 :). –

답변

0

이것을 사용하여 App 메모리를 찾을 수 있습니다. appMemory = vm_page_size * (vm_stat.internal_page_count - vm_stat.purgeable_count);

+0

vm_stat.internal_page_count를 찾는 방법은 무엇입니까? – mac