簡體   English   中英

如何在mac OSX中查找內存使用情況?

[英]How to find memory usage in mac OSX?

如何在osx 10.9及更高版本中查找活動監視器顯示的內存使用情況。 我使用以下代碼來獲取內存使用情況。

但它在活動監視器中顯示的內容與我在此代碼中找到的內容之間存在一些差異。

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;

我也想知道我應該考慮哪個應用程序內存,文件緩存,有線內存和壓縮內存。

在這里,使用此代碼獲得的有線計數與在活動監視器中顯示的相同。

有人可以幫助我。 謝謝

您可以使用此appMemory = vm_page_size *(vm_stat.internal_page_count - vm_stat.purgeable_count)找到App內存;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM