这个脚本和前面的“查看多节点lsload的状况”的功能相同,方法上做了一点修改。
效率更好一些,尤其是在节点多的情况下会好很多。谢谢lsload的关注,呵呵。
#!/usr/bin/perl
use strict;
use warnings;
my @nodes;
my $begin;
my $end;
my $lsload;
my $i;
if($ARGV[0] eq "")
{
print("Usage: $0 nodexxx-nodexxx\n");
print(" $0 nodexxx\n");
exit 0;
}
my $SOURCE=`. /usr/local/lsf/conf/profile.lsf`;
if($ARGV[0] =~ /node[0-9]{3}\-node[0-9]{3}/)
{
@nodes = split /\-/, $ARGV[0];
$nodes[0] =~ /node([0-9]{3})/;
$begin = $1;
$nodes[1] =~ /node([0-9]{3})/;
$end = $1;
$lsload = `lsload node$begin`;
print "$lsload";
if($begin <=($end -1))
{
my $plsload=`lsload | grep -v HOST`;
my @myplsload = split /\n/, $plsload;
for($i = $begin+1; $i <= $end; $i ++)
{
if($i < 10)
{
foreach (@myplsload)
{
if($_ =~ /node00$i/)
{
print "$_\n";
}
}
}
elsif($i >= 10 && $i < 100)
{
foreach (@myplsload)
{
if($_ =~ /node0$i/)
{
print "$_\n";
}
}
}
elsif($i >= 100 && $i <= 192)
{
foreach (@myplsload)
{
if($_ =~ /node$i/)
{
print "$_\n";
}
}
}
else
{
last;
}
}
}
}
elsif($ARGV[0] =~ /node[0-9]{3}/)
{
$lsload=`lsload $ARGV[0]`;
print $lsload;
exit 0;
}
else
{
print("Usage: $0 nodexxx-nodexxx\n");
print(" $0 nodexxx\n");
exit 0;
}
阅读(3675) | 评论(0) | 转发(0) |