@cryptotaxi247 / netdata-1 / commits / f6f619d89

fix mallinfo2 (#19381)

* fix mallinfo2 * make sure they are positive

Costa Tsaousis committed Jan 12, 2025 at 17:24 UTC f6f619d8937bb223133ceb89501eb2c74157c8ba
1 file changed +5 -10
src/daemon/pulse/pulse-daemon-memory.c
+5 -10
@@ -496,19 +496,14 @@ void pulse_daemon_memory_do(bool extended) {
496
497 struct mallinfo2 mi = mallinfo2();
498
499 - // Memory used in mmapped regions
499 + // size_t total = mi.uordblks;
500 size_t used_mmap = mi.hblkhd;
501 + size_t used_arena = mi.arena;
502
502 - // Memory used in arena (non-mmapped allocations)
503 - // uordblks includes both arena and mmap allocations, so we subtract mmap
504 - size_t used_arena = (mi.uordblks > mi.hblkhd) ? mi.uordblks - mi.hblkhd : 0;
505 -
506 - // Releasable memory (can be released via malloc_trim())
503 + size_t unused_total = mi.fordblks;
504 size_t unused_releasable = mi.keepcost;
508 -
509 - // Fragmentation (remaining free space that's not easily releasable)
510 - // This includes free chunks (fordblks) minus the releasable space
511 - size_t unused_fragments = (mi.fordblks > mi.keepcost) ? mi.fordblks - mi.keepcost : 0;
505 + // size_t unused_fast = mi.fsmblks;
506 + size_t unused_fragments = (unused_total > unused_releasable) ? unused_total - unused_releasable : 0;
507
508 rrddim_set_by_pointer(st_mallinfo, rd_unused_releasable, (collected_number)unused_releasable);
509 rrddim_set_by_pointer(st_mallinfo, rd_unused_fragments, (collected_number)unused_fragments);