blob: 6aef939aedb0d2e9b9c6473cf921ebb2399818ff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
mallinfo() is not provided in musl. This patch uses getrusage() instead to use
the maximum resident set size as a (poor) approximation of the heap usage.
--- occt-V7_3_0p3.bin/src/OSD/OSD_MemInfo.cxx
+++ occt-V7_3_0p3/src/OSD/OSD_MemInfo.cxx
@@ -35,6 +35,9 @@
#include <sstream>
#include <fstream>
+#include <sys/time.h>
+#include <sys/resource.h>
+
#include <OSD_MemInfo.hxx>
// =======================================================================
@@ -147,8 +150,11 @@
}
aFile.close();
- struct mallinfo aMI = mallinfo();
- myCounters[MemHeapUsage] = aMI.uordblks;
+ // mallinfo() not available with musl. We use getrusage to approximate it
+ // with the maximum resident set size
+ struct rusage ru = { .ru_maxrss = 0 };
+ getrusage(RUSAGE_SELF, &ru);
+ myCounters[MemHeapUsage] = ru.ru_maxrss;
#elif (defined(__APPLE__))
struct task_basic_info aTaskInfo;
|