- DBG ("data_len = %u; sizeof (data) = %u;",
- (unsigned int) data_len,
- (unsigned int) sizeof (data));
- return;
- }
-
-/* #endif VM_TOTAL */
+ int value;
+ size_t value_len = sizeof (value);
+
+ if (sysctlbyname (sysctl_keys[i], (void *) &value, &value_len,
+ NULL, 0) == 0)
+ {
+ sysctl_vals[i] = value;
+ DEBUG ("memory plugin: %26s: %6i", sysctl_keys[i], sysctl_vals[i]);
+ }
+ else
+ {
+ sysctl_vals[i] = NAN;
+ }
+ } /* for (sysctl_keys) */
+
+ /* multiply all all page counts with the pagesize */
+ for (i = 1; sysctl_keys[i] != NULL; i++)
+ if (!isnan (sysctl_vals[i]))
+ sysctl_vals[i] *= sysctl_vals[0];
+
+ memory_submit ("free", sysctl_vals[2]);
+ memory_submit ("wired", sysctl_vals[3]);
+ memory_submit ("active", sysctl_vals[4]);
+ memory_submit ("inactive", sysctl_vals[5]);
+ memory_submit ("cache", sysctl_vals[6]);
+/* #endif HAVE_SYSCTLBYNAME */