Sys_GetMemoryInfo ?

Hallo,
da ich die TTools, noch nicht ganz am laufen habe, habe ich nach Alternativen gesucht und bin hierrüber gestolpert.

Sys_GetMemoryInfo

Zeigt mir dieser Befehl den Speicher an ?

Ich finde in der Doku nichts dazu. Kann mir jemand ein Beispiel zeigen wie das aufgerufen wird ?

<?

$Netzwerk = Sys_GetNetworkInfo();
//print_r($Netzwerk);
$IP = ($Netzwerk[1]['IP']);
SetValue (17591 /*[Systeminfos\Systeminfo\IPAdresse]*/, $IP);

$HDD = Sys_GetHardDiskInfo();
print_r($HDD);

$Info = Sys_GetProcessInfo();
print_r($Info);

$Speicher = Sys_GetMemoryInfo();
print_r($Speicher);
?>

Danke,

aber wie bekomme ich jetzt der freien Speicher in eine Variable geschrieben?

Hallo Horst,

so wie im Beispiel für Netzwerk.

$Speicher = Sys_GetMemoryInfo();
print_r($Speicher);
$Freememory = ($Speicher['AVAILPHYSICAL']);
SetValue (17591 /*[Systeminfos\Systeminfo\IPAdresse]*/, $Freememory);

Danke, jetzt hab ich’s.

Und so in %:


$mem_frei = sys_GetMemoryInfo();
$mem_frei_proz = (($mem_frei['AVAILPHYSICAL']/(1024*1024))*100)/3072; //in % wandeln
SetValue($id_ram_frei,(int)$mem_frei_proz);

Wobei der letzte Wert die Größe des installierten RAM enthällt, hier 3x1024MB = 3GB.

@ Thomas,

hattes Du nicht schon mal irgendwo dazu was veröffentlicht. Habs auf die schnelle nicht gefunden. :confused:

Hallo Ferengi-Master,

stimmt die 3072? Bei mir ergibt das bei 230 MB von 1 GB frei 7%

Oh sorry,

der letzte Wert ist natürlich die Anzahl des installierten Speichers, bei mir 3GB.:o

@Rainer
Ja. Glaube auch.

Probier es mal so:

$mem_frei = sys_GetMemoryInfo();
$mem_frei_proz = $mem_frei['AVAILPHYSICAL']/$mem_frei['TOTALPHYSICAL']*100; //in % wandeln
SetValue($id_ram_frei,(int)$mem_frei_proz); 

Gruß

…oder so … der gute alte 3 Satz:)

Bei mir gibt:


$mem_frei = sys_GetMemoryInfo();
print_r($mem_frei);

Folgendes aus:


Array
(
    [TOTALPHYSICAL] => 2147483647
    [AVAILPHYSICAL] => 1931272192
    [TOTALPAGEFILE] => 4294967295
    [AVAILPAGEFILE] => 4294967295
    [TOTALVIRTUAL] => 2147352576
    [AVAILVIRTUAL] => 1843654656
)

Ich habe 3GB im System, sollte dann [TOTALPHYSICAL] nicht 3221225472 sein?

Hier scheint der Wert nicht korrekt wiedergegeben werden…

Hallo.

Auch wenn ich hier in der Mottenkiste krame - aber es gab bei der Suche nach „Sys_GetMemoryInfo ()“ nur diesen Treffer im Forum.

Mein System hat 4GB RAM. Die Speicherauslastung schwankt meist zwischen 40 und 60%. Frage ich die Werte über „Sys_GetMemoryInfo ()“ ab dann kommt z.b. so eine Ausgabe:

Array
(
    [TOTALPHYSICAL] => 2147483647
    [AVAILPHYSICAL] => 2147483647
    [TOTALPAGEFILE] => 4294967295
    [AVAILPAGEFILE] => 4294967295
    [TOTALVIRTUAL] => 2147352576
    [AVAILVIRTUAL] => 1599168512
)

Dabei sind Zeilen 1+2 und 3+4 immer jeweils paarweise identisch und ändern sich auch nicht. Lediglich Zeile 6 ändert sich. Nachdem mein Pagefile nicht auf 4GB festgenagelt ist und das System 4GB hat sind schon einmal mindestes die Werte 1-4 komplett falsch.
Wo steckt da der Fehler? In meiner Forensuche, im Rechner, vor dem Rechner oder in IPS?

Grüsse.

Threadhochhol!

Hi, ich habe meine IPS Server nun mal mit mehr Ram ausgebaut und nun ein Problem mit der Speicheranzeige.

Kann es sein das Sys_GetMemoryInfo nur bis 4GB (4096MB) funktioniert?

Ich habe nun in meinem Server 8192 MB Physikalisches Ram.

Es ist ein Windows 2008 R2 64bit Server, Windows erkennt und nutzt den Speicher anstandslos, laut Taskmgr nutzt das System z.zT. 1,2 GB von dem Ram
und der Taskmgr zeigt die Differenz auch richtig als frei.

Sys_GetMemoryInfo gibt mir folgende Werte aus:

AVAILPHYSICAL=4294967295
TOTALPHYSIKAL=4294967295

Was in MB jeweils ca 4096 entspricht!

Habe ich eine möglichkeit den Speicher richtig zu erfassen?

Danke & Gruß Martin

liegt vielleicht daran dass IPS eine 32bit-Applikation ist und keinen Adressraum >4GB sehen kann?

(nur ne Vermutung, vielleicht ist es auch Bullshit :p)

Hmm danke für den tipp,

Kann da jemand mehr zu sagen?
Gruss martin

Nein - Ja, das denke ich auch … (ich denke Du liegst richtig)

Sollte im nächsten Update (#2000) behoben sein. :slight_smile:

paresy

Das klingt doch gut :slight_smile:

Dankeschön!

Besten Dank mit #2000 läufts :smiley: