2014-10-13 13 views
5

Come trovare l'utilizzo della memoria come un monitor dell'attività monitor in osx 10.9 e versioni successive. ho usato il seguente codice per recuperare l'utilizzo della memoria.Come trovare l'utilizzo della memoria in mac OSX?

ma c'è una certa differenza tra ciò che mostra nel monitor dell'attività e ciò che trovo in questo codice.

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; 

sto anche chiedendo ciò che devo considerare come memoria App, cache di file, memoria, wireless e di memoria compressa.

Qui, il conteggio dei fili che ho ottenuto utilizzando questo codice è lo stesso visualizzato in un monitor dell'attività.

Qualcuno può aiutarmi qui. Grazie

+0

+1 Tks. Domanda stupenda :). –

risposta

0

È possibile trovare la memoria dell'applicazione utilizzando questo appMemory = vm_page_size * (vm_stat.internal_page_count - vm_stat.purgeable_count);

+0

Come trovare vm_stat.internal_page_count? – mac