Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- src/libs/zbxsysinfo/freebsd/memory.c.orig 2011-05-05 16:24:40.000000000 +0400
- +++ src/libs/zbxsysinfo/freebsd/memory.c 2011-05-05 16:38:49.000000000 +0400
- @@ -70,6 +70,81 @@
- #endif /* HAVE_FUNCTION_SYSCTLBYNAME */
- }
- +static int VM_MEMORY_ACTIVE(AGENT_RESULT *result)
- +{
- +#if defined(HAVE_FUNCTION_SYSCTLBYNAME)
- + /* FreeBSD 6.2 i386; FreeBSD 7.0 i386 */
- + u_int activepages, pagesize;
- + size_t len;
- +
- + len = sizeof(activepages);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_active_count", &activepages, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + len = sizeof(pagesize);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_page_size", &pagesize, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + SET_UI64_RESULT(result, (zbx_uint64_t)activepages * pagesize);
- +
- + return SYSINFO_RET_OK;
- +#else
- + return SYSINFO_RET_FAIL;
- +#endif /* HAVE_FUNCTION_SYSCTLBYNAME */
- +}
- +
- +static int VM_MEMORY_INACTIVE(AGENT_RESULT *result)
- +{
- +#if defined(HAVE_FUNCTION_SYSCTLBYNAME)
- + /* FreeBSD 6.2 i386; FreeBSD 7.0 i386 */
- + u_int inactivepages, pagesize;
- + size_t len;
- +
- + len = sizeof(inactivepages);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_inactive_count", &inactivepages, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + len = sizeof(pagesize);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_page_size", &pagesize, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + SET_UI64_RESULT(result, (zbx_uint64_t)inactivepages * pagesize);
- +
- + return SYSINFO_RET_OK;
- +#else
- + return SYSINFO_RET_FAIL;
- +#endif /* HAVE_FUNCTION_SYSCTLBYNAME */
- +}
- +
- +static int VM_MEMORY_WIRED(AGENT_RESULT *result)
- +{
- +#if defined(HAVE_FUNCTION_SYSCTLBYNAME)
- + /* FreeBSD 6.2 i386; FreeBSD 7.0 i386 */
- + u_int wiredpages, pagesize;
- + size_t len;
- +
- + len = sizeof(wiredpages);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_wire_count", &wiredpages, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + len = sizeof(pagesize);
- +
- + if (0 != sysctlbyname("vm.stats.vm.v_page_size", &pagesize, &len, NULL, 0))
- + return SYSINFO_RET_FAIL;
- +
- + SET_UI64_RESULT(result, (zbx_uint64_t)wiredpages * pagesize);
- +
- + return SYSINFO_RET_OK;
- +#else
- + return SYSINFO_RET_FAIL;
- +#endif /* HAVE_FUNCTION_SYSCTLBYNAME */
- +}
- +
- static int VM_MEMORY_USED(AGENT_RESULT *result)
- {
- #if defined(HAVE_FUNCTION_SYSCTLBYNAME)
- @@ -202,6 +277,9 @@
- {
- {"total", VM_MEMORY_TOTAL},
- {"free", VM_MEMORY_FREE},
- + {"active", VM_MEMORY_ACTIVE},
- + {"inactive", VM_MEMORY_INACTIVE},
- + {"wired", VM_MEMORY_WIRED},
- {"used", VM_MEMORY_USED},
- {"pfree", VM_MEMORY_PFREE},
- {"pused", VM_MEMORY_PUSED},
Add Comment
Please, Sign In to add comment