OSX: exclude cached memory from used
This commit is contained in:
parent
cf2a094f13
commit
33d64bc53b
@ -30,33 +30,29 @@ std::string mem_string( bool use_colors )
|
||||
std::ostringstream oss;
|
||||
|
||||
// These values are in bytes
|
||||
int64_t total_mem;
|
||||
int64_t used_mem;
|
||||
int64_t unused_mem;
|
||||
u_int64_t total_mem;
|
||||
u_int64_t used_mem;
|
||||
//u_int64_t unused_mem;
|
||||
|
||||
vm_size_t page_size;
|
||||
mach_port_t mach_port;
|
||||
mach_msg_type_number_t count;
|
||||
vm_statistics_data_t vm_stats;
|
||||
|
||||
// Get total physical memory
|
||||
int mib[2];
|
||||
mib[0] = CTL_HW;
|
||||
mib[1] = HW_MEMSIZE;
|
||||
size_t length = sizeof( int64_t );
|
||||
int mib[] = { CTL_HW, HW_MEMSIZE };
|
||||
size_t length = sizeof( total_mem );
|
||||
sysctl( mib, 2, &total_mem, &length, NULL, 0 );
|
||||
|
||||
mach_port = mach_host_self();
|
||||
count = sizeof( vm_stats ) / sizeof( natural_t );
|
||||
mach_port_t mach_port = mach_host_self();
|
||||
mach_msg_type_number_t count = sizeof( vm_stats ) / sizeof( natural_t );
|
||||
if( KERN_SUCCESS == host_page_size( mach_port, &page_size ) &&
|
||||
KERN_SUCCESS == host_statistics( mach_port, HOST_VM_INFO,
|
||||
( host_info_t )&vm_stats, &count ) )
|
||||
( host_info_t )&vm_stats, &count )
|
||||
)
|
||||
{
|
||||
unused_mem = ( int64_t )vm_stats.free_count * ( int64_t )page_size;
|
||||
//unused_mem = static_cast<u_int64_t>( vm_stats.free_count * page_size );
|
||||
|
||||
used_mem = ( ( int64_t )vm_stats.active_count +
|
||||
( int64_t )vm_stats.inactive_count + ( int64_t )vm_stats.wire_count
|
||||
) * ( int64_t )page_size;
|
||||
used_mem = static_cast<u_int64_t>(
|
||||
( vm_stats.active_count + vm_stats.wire_count ) * page_size);
|
||||
}
|
||||
|
||||
if( use_colors )
|
||||
@ -65,7 +61,7 @@ std::string mem_string( bool use_colors )
|
||||
}
|
||||
|
||||
oss << convert_unit( used_mem, MEGABYTES ) << '/'
|
||||
<< convert_unit( total_mem, MEGABYTES ) << "MB";
|
||||
<< convert_unit( total_mem, MEGABYTES ) << "MB";
|
||||
|
||||
if( use_colors )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user