Add memory usage statistics on macOS (#6644)
Add memory usage statistics on macOS
This commit is contained in:
parent
96ece751fa
commit
a35d4a4b4b
|
|
@ -41,6 +41,10 @@
|
||||||
#if defined(__APPLE__) && !defined(__arm64__) && !defined(__POWERPC__)
|
#if defined(__APPLE__) && !defined(__arm64__) && !defined(__POWERPC__)
|
||||||
# include <cpuid.h> // For __cpuid_count()
|
# include <cpuid.h> // For __cpuid_count()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__APPLE__) && defined(__MACH__)
|
||||||
|
# include <mach/mach.h> // For task_info()
|
||||||
|
#endif
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
namespace VlOs {
|
namespace VlOs {
|
||||||
|
|
@ -146,6 +150,15 @@ void memUsageBytes(uint64_t& peakr, uint64_t& currentr) VL_MT_SAFE {
|
||||||
peakr = pmc.PeakWorkingSetSize;
|
peakr = pmc.PeakWorkingSetSize;
|
||||||
currentr = pmc.WorkingSetSize;
|
currentr = pmc.WorkingSetSize;
|
||||||
}
|
}
|
||||||
|
#elif defined(__APPLE__) && defined(__MACH__)
|
||||||
|
mach_task_basic_info_data_t info;
|
||||||
|
mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT;
|
||||||
|
const kern_return_t ret
|
||||||
|
= task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &count);
|
||||||
|
if (ret == KERN_SUCCESS && count == MACH_TASK_BASIC_INFO_COUNT) {
|
||||||
|
peakr = info.resident_size_max;
|
||||||
|
currentr = info.resident_size;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
// Highly unportable. Sorry
|
// Highly unportable. Sorry
|
||||||
std::ifstream is{"/proc/self/status"};
|
std::ifstream is{"/proc/self/status"};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue