Hallo MSR, Paresy,
also ich habe es mal getstet 50 mal Script ausführen = 5 MB mehr für IPS.
@Paresy
Ich glaube mein Script ist ok:
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : SystemInfo.ips.php
Trigger :
Interval :
*/
$suffix="Sys";
$initial=false;
// IPS Process Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."IpsHandlecount",$suffix."IpsNumthreads",$suffix."IpsVirtualsize",
$suffix."IpsWorkingsize",$suffix."IpsPagefile",$suffix."ProcessCount");
varfloatcheck($IpsIntVars);
}
$PInfo=Sys_GetProcessInfo();
SetValueFloat($suffix."IpsHandlecount",(Float)$PInfo["IPS_HANDLECOUNT"]);
SetValueFloat($suffix."IpsNumthreads",(Float)$PInfo["IPS_NUMTHREADS"]);
SetValueFloat($suffix."IpsVirtualsize",(Float)$PInfo["IPS_VIRTUALSIZE"]);
SetValueFloat($suffix."IpsWorkingsize",(Float)$PInfo["IPS_WORKINGSETSIZE"]);
SetValueFloat($suffix."IpsPagefile",(Float)$PInfo["IPS_PAGEFILE"]);
SetValueFloat($suffix."ProcessCount",(Float)$PInfo["PROCESSCOUNT"]);
// System Memory Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."MemTotalPysical",$suffix."MemAvailPhysical",
$suffix."MemTotalPageFile",$suffix."MemAvailPageFile",$suffix."MemTotalVirtual",
$suffix."MemAvailVirtual");
varfloatcheck($IpsIntVars);
}
$MInfo=Sys_GetMemoryInfo();
SetValueFloat($suffix."MemTotalPysical",round($MInfo["TOTALPHYSICAL"]/1024/1024,0));
SetValueFloat($suffix."MemAvailPhysical",round($MInfo["AVAILPHYSICAL"]/1024/1024,0));
SetValueFloat($suffix."MemTotalPageFile",round($MInfo["TOTALPAGEFILE"]/1024/1024,0));
SetValueFloat($suffix."MemAvailPageFile",round($MInfo["AVAILPAGEFILE"]/1024/1024,0));
SetValueFloat($suffix."MemTotalVirtual",round($MInfo["TOTALVIRTUAL"]/1024/1024,0));
SetValueFloat($suffix."MemAvailVirtual",round($MInfo["AVAILVIRTUAL"]/1024/1024,0));
// System CPU Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."CPU0",$suffix."CPUAverage",);
varfloatcheck($IpsIntVars);
}
$CPUInfo=Sys_GetCPUInfo();
SetValueFloat($suffix."CPU0",(Float)$CPUInfo["CPU_0"]);
SetValueFloat($suffix."CPUAverage",(Float)$CPUInfo["CPU_AVG"]);
// System DD Info in IPS Variablen schreiben
$HDDInfo=Sys_GetHardDiskInfo();
$HD=0;
while ($HD < $HDDInfo["NUMDRIVES"]){
if ($initial) {
$IpsIntVars=array($suffix."Hdd".$HD."TotalMem",$suffix."Hdd".$HD."FreeMem",);
$IpsStrVars=array($suffix."Hdd".$HD."Letter",$suffix."Hdd".$HD."Label",);
varfloatcheck($IpsIntVars);
varstrcheck($IpsStrVars);
}
SetValueFloat($suffix."Hdd".$HD."TotalMem",round($HDDInfo["HDD".$HD]["TOTAL"]/1024/1024,0));
SetValueFloat($suffix."Hdd".$HD."FreeMem",round($HDDInfo["HDD".$HD]["FREE"]/1024/1024,0));
SetValueString($suffix."Hdd".$HD."Letter",(string)$HDDInfo["HDD".$HD]["LETTER"]);
SetValueString($suffix."Hdd".$HD."Label",(string)$HDDInfo["HDD".$HD]["LABEL"]);
$HD=$HD+1;
}
function varfloatcheck($var){
$i=0;
while ($i < count($var)){
if (!IPS_VariableExists($var[$i])) {
if (IPS_CreateVariable((string)$var[$i],"Float")) {
echo $var[$i]."/Float wurde angelegt
";
}
else {
echo $var[$i]."/Float konnte nicht angelegt werden
";
}
}
else {
echo $var[$i]." existiert bereits
";
}
$i=$i+1;
}
}
function varstrcheck($var){
$i=0;
while ($i < count($var)){
if (!IPS_VariableExists($var[$i])) {
if (IPS_CreateVariable((string)$var[$i],"String")) {
echo $var[$i]."/String wurde angelegt
";
}
else {
echo $var[$i]."/String konnte nicht angelegt werden
";
}
}
else {
echo $var[$i]." existiert bereits
";
}
$i=$i+1;
}
}
?>
Vieleicht siehst Du ja das Problem.
Gruß
Oliver