Jump to content

Memory-Management Win2k3 Enterprise


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo.

 

Wir betreiben auf unserer Serverfarm eine Applikation ueber Terminalsessions.

 

Die fuenf Maschinen verfuegen ueber 8GB RAM, und halten so 10-20 User.

Ein einzelner Prozess der Applikation mit der die User Arbeiten hat im Schnitt ca. 300MB RAM-Auslastung.

 

Das Problem welches wir haben, leitet sich aus dem Memory-Management des Servers ab.

Wenn naemlich 4GB Speicherauslastung erreicht wird, schaufelt der Server die Daten in die Pagefile, und diese bleiben dann dort. Dies bewirkt dann das:

1. Die Anwendung extrem langsam wird.

2. Effektiv nur 4GB RAM genutzt werden.

 

Nach einer gewissen Laufzeit der Server haben wir dann vollgelaufene Pagefiles (~5-8GB), und fast leeren RAM (1-2GB Auslastung). Wir haben die Pagefile schon auf 2x4GB aufgestockt, da sonst die Server staendig abschmieren.

 

Jetzt ist halt die Frage:

- An was liegt es? Ich vermute sehr stark das OS, da die Applikation ja keinen Einfluss hat, wann in die Pagefile geschrieben wird.

- Wie kann ich verhindern das nur 4GB RAM genutzt werden? Es sollen praktisch die vollen 8GB verwendet werden, ohne Pagefile-geschreibe.

 

Achja: Der PAE und 3GB Switch sind gesetzt.

 

greetz

Link zu diesem Kommentar

Hallo

 

 

Welche Edition ist das x86 oder x64 ?

Wurde schon versucht (experimentell) den Switch /AWE zu setzen ?

Ich würde das Pagefile auch auf 8 GB fix einstellen (kein File Growing).

 

Nicht jede (sondern einige) Applikation kann den MemoryPool jenseits der 2GB Grenze (bei x86/x64) adressieren. (beispielsweise MSSQL 2005 Reporting service gleichzeitig mit mssql).

 

Der Effekt sind ungeklärte chrashes von services oder evtl. stop errors.

 

Entscheidend wann der Server paged ist einerseits das OS wobei dies auch stattfindet wenn die Application ihren MemoryPool erschöpft hat d.h. ist eine Applikation nur 2 GB tauglich beginnt er bei 2 GB die Memoryauslagerung (letzteres ist zwar selten, hatten wir auf DB und Mail Cluster aber auch schon gesehen)

 

Gruss,

Matthias

Link zu diesem Kommentar

Hallo.

 

Es ist ein x86 System. /AWE wurde noch nicht getestet (Kenn ich gar nicht - das muss ich mir mal ansehen).

Pagefile ist auch fest eingestellt (2x4GB, da auf einer partition nicht mehr geht).

 

Komischerweise duerfte ja der Memory-Pool der Applikation niemals an die grenze (2GB) stossen (pro User), da sie vorher abschmiert (Schlechtes Programm). Von daher wundert es mich ja auch so, dass er zu pagen anfaengt. Wie gesagt: Die normale Memory-Auslastung pro User sind meist um 300MB rum. Manchmal mehr, oefter weniger.

 

Wenn es keine Terminal-Server Geschichte waere, sondern ein Prozess, dann wuerde ich es ja verstehen. Aber wir haben halt 10 - 20 (User) x ~300MB. Also muesste er ja bei 20 Usern rein rechnerisch ungefaehr 6GB RAM auslasten. Das tut er aber nicht, weil er schon bei 4GB gesamt-Memory Last zu pagen anfaengt.

 

 

 

greetz

Link zu diesem Kommentar

Hallo

 

Der MemoryPool berechnet der Server "over all" der Application und nicht pro User. Mit den 2GB ist die MemoryAlloziierung der Binary total gemeint. Natürlich startet der TS pro User diese innerhalb eines eigenen Tasks.

 

Betreffs /AWE steht dieser nur unter 64bit zur Verfügung. Die Pagefile grösse ebenso > 4 GB geht auch nur mit 64bit.

 

Vielleicht wäre es hilfreich, wenn DU uns sagst welche Applikation dahinter steckt ?

Hast Du bei dem Lieferanten schon mal nachgefragt ?

 

Eventuell müsste man mal überlegen, das ganze auf 64bit laufen zu lassen, vorausgesetzt die Applikation wird für 64bit supported. (als Testumgebung !!).

 

Grüsse

Matthias

Link zu diesem Kommentar

Hallo.

 

Das ist natuerlich sehr schlechtes Verhalten, dass er overall rechnet und nicht pro Prozess.

 

Bei der Applikation handelt es sich um Spezialsoftware. Wenn ich dir den Namen sage kennst du es garantiert nicht. Ausserdem denke ich, dass das nicht wirklich was zur Sache tut (Evtl. bei Standard-SW, aber nicht bei dieser Applikation).

 

Der Lieferant sagt uns, dass es nicht moeglich sein wird (Jedenfalls nicht in der naechsten Zeit), die App auf 64 Bit umzustellen.

 

Wir haben jetzt mal auf unserer Testumgebung Probehalber die Pagefile abgeschalten. Der Server verfuegt ueber 12GB RAM. Wir werden jetzt mal testen wie sich das nun verhaelt.

 

Zu meinem Problem gibts aber eigentlich keine andere moeglichkeit, ausser die App 64Bit faehig machen zu lassen und auf einem 64Bit OS auszufuehren?

 

 

greetz

Link zu diesem Kommentar

W2K3 Enterprise aktiviert bei passender Hardware automatisch AWE. Der Effekt scheint, kurzem überfliegen, normal zu sein. Der Bereich über 4GB kann nur durch einen Trick im Prozessor adressiert werden. Daher steht er normalen Anwendungen nicht zur Verfügung. AWE-Speicher kann in 2 Arten genutzt werden: Entweder spricht die Anwendung (z.B. Datenbankserver) die AWE-Speicher über eine API an, oder das System verwendet freien AWE-Speicher als "pagefile.sys" im RAM. Bei Dir dürfte das Letztere der Fall sein.

 

Ich halte das 64-Bit Windows mittlerweile für die besere Lösung. Muss aber halt alles getestet werden.

 

-Zahni

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...