mzwk 10 Geschrieben 12. Juli 2007 Melden Teilen Geschrieben 12. Juli 2007 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 Zitieren Link zu diesem Kommentar
gysinma1 13 Geschrieben 12. Juli 2007 Melden Teilen Geschrieben 12. Juli 2007 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 Zitieren Link zu diesem Kommentar
mzwk 10 Geschrieben 12. Juli 2007 Autor Melden Teilen Geschrieben 12. Juli 2007 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 Zitieren Link zu diesem Kommentar
gysinma1 13 Geschrieben 13. Juli 2007 Melden Teilen Geschrieben 13. Juli 2007 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 Zitieren Link zu diesem Kommentar
mzwk 10 Geschrieben 13. Juli 2007 Autor Melden Teilen Geschrieben 13. Juli 2007 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 Zitieren Link zu diesem Kommentar
zahni 561 Geschrieben 13. Juli 2007 Melden Teilen Geschrieben 13. Juli 2007 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 Zitieren Link zu diesem Kommentar
GerhardG 10 Geschrieben 14. Juli 2007 Melden Teilen Geschrieben 14. Juli 2007 überprüfe mal ob die hardware memory mapping fähig ist (vermutlich ja) und ob es ev im bios deaktiviert ist. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.