@cryptotaxi247 / netdata-1 / commits / 1e07dbe8f

fix(freebsd.plugin): fix wired/cached/avail memory calculation on FreeBSD with ZFS (#13183)

Ilya Mashchenko committed Jun 21, 2022 at 13:26 UTC 1e07dbe8f851857f68b407d3dcf7f007f519f4c7
1 file changed +4 -4
collectors/freebsd.plugin/freebsd_sysctl.c
+4 -4
@@ -1044,9 +1044,9 @@ int do_system_ram(int update_every, usec_t dt) {
1044 rrddim_set_by_pointer(st, rd_free, vmmeter_data.v_free_count);
1045 rrddim_set_by_pointer(st, rd_active, vmmeter_data.v_active_count);
1046 rrddim_set_by_pointer(st, rd_inactive, vmmeter_data.v_inactive_count);
1047 - rrddim_set_by_pointer(st, rd_wired, vmmeter_data.v_wire_count * system_pagesize - zfs_arcstats_shrinkable_cache_size_bytes);
1047 + rrddim_set_by_pointer(st, rd_wired, (unsigned long long)vmmeter_data.v_wire_count * (unsigned long long)system_pagesize - zfs_arcstats_shrinkable_cache_size_bytes);
1048 #if __FreeBSD_version < 1200016
1049 - rrddim_set_by_pointer(st, rd_cache, vmmeter_data.v_cache_count * system_pagesize + zfs_arcstats_shrinkable_cache_size_bytes);
1049 + rrddim_set_by_pointer(st, rd_cache, (unsigned long long)vmmeter_data.v_cache_count * (unsigned long long)system_pagesize + zfs_arcstats_shrinkable_cache_size_bytes);
1050 #else
1051 rrddim_set_by_pointer(st, rd_cache, zfs_arcstats_shrinkable_cache_size_bytes);
1052 #endif
@@ -1077,9 +1077,9 @@ int do_system_ram(int update_every, usec_t dt) {
1077 else rrdset_next(st_mem_available);
1078
1079 #if __FreeBSD_version < 1200016
1080 - rrddim_set_by_pointer(st_mem_available, rd_avail, vmmeter_data.v_inactive_count + vmmeter_data.v_free_count + (vmmeter_data.v_cache_count * system_pagesize + zfs_arcstats_shrinkable_cache_size_bytes));
1080 + rrddim_set_by_pointer(st_mem_available, rd_avail, vmmeter_data.v_inactive_count + vmmeter_data.v_free_count + vmmeter_data.v_cache_count + zfs_arcstats_shrinkable_cache_size_bytes / system_pagesize);
1081 #else
1082 - rrddim_set_by_pointer(st_mem_available, rd_avail, vmmeter_data.v_inactive_count + vmmeter_data.v_free_count + zfs_arcstats_shrinkable_cache_size_bytes);
1082 + rrddim_set_by_pointer(st_mem_available, rd_avail, vmmeter_data.v_inactive_count + vmmeter_data.v_free_count + zfs_arcstats_shrinkable_cache_size_bytes / system_pagesize);
1083 #endif
1084
1085 rrdset_done(st_mem_available);