static void system_mem_log(oskar_Log* log) { size_t mem_total, mem_free, mem_used, gigabyte = 1024 * 1024 * 1024; size_t mem_resident; mem_total = oskar_get_total_physical_memory(); mem_resident = oskar_get_memory_usage(); mem_free = oskar_get_free_physical_memory(); mem_used = mem_total - mem_free; oskar_log_message(log, 'M', 0, "System memory usage %.1f%% " "(%.1f GB/%.1f GB) used.", 100. * (double) mem_used / mem_total, (double) mem_used / gigabyte, (double) mem_total / gigabyte); oskar_log_message(log, 'M', 0, "Memory used by simulator: %.1f MB", (double) mem_resident / (1024. * 1024.)); }
void oskar_print_memory_info(void) { size_t totalSwapMem, freeSwapMem, totalPhysMem, freePhysMem, usedMem; totalPhysMem = oskar_get_total_physical_memory(); freePhysMem = oskar_get_free_physical_memory(); totalSwapMem = oskar_get_total_swap_memory(); freeSwapMem = oskar_get_free_swap_memory(); usedMem = oskar_get_memory_usage(); printf("Memory used by current process: %lu MB\n", (unsigned long) (usedMem/(1024*1024))); printf("Free physical memory: %lu MB (of %lu MB)\n", (unsigned long) (freePhysMem/(1024*1024)), (unsigned long) (totalPhysMem/(1024*1024))); printf("Free swap memory: %lu MB (of %lu MB)\n", (unsigned long) (freeSwapMem/(1024*1024)), (unsigned long) (totalSwapMem/(1024*1024))); }