diff --git a/src/usr/local/www/includes/functions.inc.php b/src/usr/local/www/includes/functions.inc.php index b728c7b3824..6433c9835ec 100644 --- a/src/usr/local/www/includes/functions.inc.php +++ b/src/usr/local/www/includes/functions.inc.php @@ -37,12 +37,7 @@ function get_stats($sitems = array()) { $stats['datetime'] = (!in_array('current_datetime', $sitems)) ? update_date_time() : ''; $stats['cpufreq'] = (!in_array('cpu_type', $sitems)) ? get_cpufreq() : ''; $stats['load_average'] = (!in_array('load_average', $sitems)) ? get_load_average() : ''; - if (!in_array('mbuf_usage', $sitems)) { - get_mbuf($stats['mbuf'], $stats['mbufpercent']); - } else { - $stats['mbuf'] = ''; - $stats['mbufpercent'] = ''; - } + $stats['mbuf_usage'] = (!in_array('mbuf_usage', $sitems)) ? get_mbuf() : ''; $stats['statepercent'] = (!in_array('state_table_size', $sitems)) ? get_pfstate(true) : ''; $stats = join("|", $stats); return $stats; @@ -127,11 +122,11 @@ function get_hwtype() { return; } -function get_mbuf(&$mbuf, &$mbufpercent) { - $mbufs_output=trim(`/usr/bin/netstat -mb | /usr/bin/grep "mbuf clusters in use" | /usr/bin/awk '{ print $1 }'`); - list($mbufs_current, $mbufs_cache, $mbufs_total, $mbufs_max) = explode("/", $mbufs_output); - $mbuf = "{$mbufs_total}/{$mbufs_max}"; - $mbufpercent = ($mbufs_max > 0) ? round(($mbufs_total / $mbufs_max) * 100, 0) : "NA"; +function get_mbuf() { + $mbufs_output=trim(`/usr/bin/vmstat -z --libxo=json | /usr/local/bin/jq -r '."memory-zone-statistics".zone.[] | select(.name=="mbuf_cluster") | "\(.limit) \(.used) \(.free)"'`); + list($mbufs_max, $mbufs_used, $mbufs_free) = explode(" ", $mbufs_output); + $mbufs_total = (int) $mbufs_used + (int) $mbufs_free; + return $mbufs_total . "/" . $mbufs_max; } function get_temp() { diff --git a/src/usr/local/www/widgets/widgets/system_information.widget.php b/src/usr/local/www/widgets/widgets/system_information.widget.php index dd33d4dcd47..3341b00c874 100644 --- a/src/usr/local/www/widgets/widgets/system_information.widget.php +++ b/src/usr/local/www/widgets/widgets/system_information.widget.php @@ -438,7 +438,7 @@