--- src/memory.cpp.orig 2022-11-29 08:09:34.000000000 +0800 +++ src/memory.cpp 2023-05-18 22:34:23.000000000 +0800 @@ -48,15 +48,26 @@ vm_size_t page_size; mach_port_t mach_port; mach_msg_type_number_t count; + #if defined(__ppc__) || defined(__i368__) + vm_statistics_data_t vm_stats; + #else vm_statistics64_data_t vm_stats; - + #endif mach_port = mach_host_self(); count = sizeof(vm_stats) / sizeof(natural_t); + #if defined(__ppc__) || defined(__i368__) + 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)) { + long long free_memory = ((int32_t)vm_stats.free_count + + (int32_t)vm_stats.inactive_count) * (int32_t)page_size; + #else if (KERN_SUCCESS == host_page_size(mach_port, &page_size) && KERN_SUCCESS == host_statistics64(mach_port, HOST_VM_INFO, (host_info64_t)&vm_stats, &count)) { long long free_memory = ((int64_t)vm_stats.free_count + (int64_t)vm_stats.inactive_count) * (int64_t)page_size; + #endif ram = free_memory; //https://stackoverflow.com/questions/63166/how-to-determine-cpu-and-memory-consumption-from-inside-a-process }