From cbbdc001e268429167bb5ae464dfa08bb7065511 Mon Sep 17 00:00:00 2001 From: bergware Date: Mon, 19 Jun 2023 09:35:45 +0200 Subject: [PATCH] Dashboard: show ZFS percentage based on c_max value --- emhttp/plugins/dynamix/nchan/update_1 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index 429a33e96..dc1a416bb 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -17,16 +17,15 @@ $varroot = '/var/local/emhttp'; require_once "$docroot/webGui/include/publish.php"; while (true) { - unset($memory,$sys,$rpms,$lsof); + unset($memory,$sys,$zfs,$rpms,$lsof); exec("grep -Po '^Mem(Total|Available):\s+\K\d+' /proc/meminfo",$memory); exec("df /boot /var/log /var/lib/docker|grep -Po '\d+%'",$sys); exec("sensors -uA 2>/dev/null|grep -Po 'fan\d_input: \K\d+'",$rpms); + exec("awk '/^c_max|^size/{print \$3}' /proc/spl/kstat/zfs/arcstats 2>/dev/null",$zfs); [$total,$free] = $memory; $used = $total-$free; - $zfs = (exec("awk '/^size/{print \$3;exit}' /proc/spl/kstat/zfs/arcstats 2>/dev/null")?:0)/1024; - $info = max(round(100*(1-$free/$total)),0)."%\0".round(100*$zfs/$used)."%\0".implode("\0",$sys); + $info = max(round(100*(1-$free/$total)),0)."%\0".round(100*($zfs[1]?:0)/($zfs[0]?:1))."%\0".implode("\0",$sys); $rpms = count($rpms) ? implode(" RPM\0",$rpms).' RPM' : ''; - $names = array_keys((array)parse_ini_file("$varroot/shares.ini")); exec("LANG='en_US.UTF8' lsof -Owl /mnt/disk[0-9]* 2>/dev/null|awk '/^shfs/ && \$0!~/\.AppleD(B|ouble)/ && \$5==\"REG\"'|awk -F/ '{print \$4}'",$lsof); $counts = array_count_values($lsof); $count = [];