--- loncom/loncron 2021/01/30 22:25:53 1.103.2.9 +++ loncom/loncron 2021/02/01 01:33:17 1.103.2.10 @@ -2,7 +2,7 @@ # Housekeeping program, started by cron, loncontrol and loncron.pl # -# $Id: loncron,v 1.103.2.9 2021/01/30 22:25:53 raeburn Exp $ +# $Id: loncron,v 1.103.2.10 2021/02/01 01:33:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -227,6 +227,21 @@ sub log_machine_info { &log($fh,'

Machine Information

'); &log($fh,"

loadavg

"); + my $cpucount; + if (open(PIPE,"lscpu |grep '^CPU(s)' 2>&1 |")) { + my $info = ; + chomp($info); + ($cpucount) = ($info =~ /^\QCPU(s):\E\s+(\d+)$/); + close(PIPE); + } + if (!$cpucount) { + $cpucount = 1; + } + my %loadtarget = ( + error => 4.0*$cpucount, + warn => 2.0*$cpucount, + note => 1.0*$cpucount, + ); open (LOADAVGH,"/proc/loadavg"); my $loadavg=; close (LOADAVGH); @@ -234,11 +249,11 @@ sub log_machine_info { &log($fh,"$loadavg"); my @parts=split(/\s+/,$loadavg); - if ($parts[1]>4.0) { + if ($parts[1]>$loadtarget{'error'}) { $errors++; - } elsif ($parts[1]>2.0) { + } elsif ($parts[1]>$loadtarget{'warn'}) { $warnings++; - } elsif ($parts[1]>1.0) { + } elsif ($parts[1]>$loadtarget{'note'}) { $notices++; }