Das folgende Skript liefert für jeden UBC-Parameter/VE den Wert: maxheld/limmit. Man sieht so, welche Resourcen von welcher VE am stärksten in Anspruch genommen werden. Gut zu erkennen ist das in folgendem ODS-Diagram (Skriptausgabe Copy/Paste ins Openoffice):
#!/usr/bin/perl
$params=`vzsplit -n 20`;
@lines=split(/\n/,$params);
foreach(@lines) {
next if(/^#/);
@cols=split(/[":=]/);
foreach(@cols) {
$barrier{lc($cols[0])}=$cols[2];
$limmit{lc($cols[0])}=$cols[3];
}
}
$ubc=`cat /proc/user_beancounters`;
@lines=split(/\n/,$ubc);
foreach(@lines) {
next if(/^Version/);
next if(/^ uid/);
@cols=split(/\s+/);
$num=@cols;
if($num==8) {
$uid=$cols[1];
$uid=~s/://g;
shift(@cols);
}
next if($uid=="0");
next if($barrier{$cols[1]}==0);
$uids{$uid}=$uid;
$heldX{$cols[1].$uid}=$cols[2];
$maxheldX{$cols[1].$uid}=$cols[3];
$barrierX{$cols[1].$uid}=$cols[4];
$limmitX{$cols[1].$uid}=$cols[5];
}
print "\t";
foreach(keys(%uids)) {
print;
print "\t";
}
print "\n";
foreach(keys(%barrier)) {
$param=$_;
next if($limmit{$param}==0);
print $param;
print "\t";
foreach(keys(%uids)) {
$uid=$_;
print $maxheldX{$param.$uid}/$limmit{$param};
print "\t";
}
print "\n";
}
