Also eigentlich dachte ich, wir haetten das schon mal durchgehechelt, aber ich finde es jetzt auch nicht mehr.
In diesem Thread ging es um Pings. Das hast absolut gar nichts mit -heapsize zu tun. Daher nochmal ein paar Worte dazu, bevor sich Leute ihren Server kaputt konfigurieren. Es gibt zwei Parameter, die mit Speicher zu tun haben. Der eine ist -zone, der andere -heapsize. Wann benutze ich welchen?
Eine Indikation fuer die Verwendung des Parameters -zone ist, wenn man grosse Konfigdateien verwendet mit vielen Einstellungen und man das Gefuehl hat, es werden nicht alle gesetzt oder man Fehlermeldungen diesbezueglich findet. Der -zone Parameter gibt den Bereich an, der auch fuer das Parsen von Konfigdateien benutzt wird und wird in Bytes angegeben.
Ich kenne die Defaultwerte nicht mehr auswendig, die haben sich irgendwann mal geaendert, aber fuer -zone sollte es so um die 2048 oder 4096 liegen, also 2KB bzw. 4KB. Wenn man also Probleme mit seinen Konfigdateien hat, kann man das auf 8192 setzen.
Damit kommen wir auch schon unmittelbar zum Parameter -heapsize. Wie der Name sagt, setzt das die Groesse eines Heaps, eines Haufen Speichers von dem sich der Server bedient. Achtung, wichtige Info: dies ist NICHT der einzige Haufen Speicher, aus dem sich der Server bedient. Es ist nur *ein* Teil und genaugenommen ein kleiner. Was zum Beispiel von diesem Haufen genommen wird, ist Speicher fuer Map Resourcen. Die -heapsize wird in KB angegeben, der Default meine ich mich zu erinnern liegt bei 32MB.
Was auch von diesen Speicher genommen wird, ist der Bereich, den man mit -zone angibt. Wenn man also -zone verwendet, sollte man die heapsize um denselben Wert erhoehen. Bleistiel: 32768 default plus neue -zone von 8192 macht: -heapsize 40960.
So, und nun kommt die grosse Ueberraschung. Ansonsten laesst man generell besser die Finger von der -heapsize. Wer seinen Server mit -heapsize 512000 startet wird ein boeses Erwachen haben, denn sein Server laeuft ploetzlich langsamer als vorher. Was man damit naemlich effektiv macht, ist dem Server Speicher zu klauen, den er jetzt nicht mehr benutzen kann. Und damit muss er anfangen zu Swappen (ausser man hat tatsaechlich 4GB Speicher) und wird naturgemaess zaeh.
Die Defaulteinstellung von -heapsize passt oder passt nicht. Aber daran ohne Grund herumzuspielen hat keine bis negative Auswirkungen auf den Server. Der Speicher geht ihm effektiv verloren, da er ihn fuer etwas reservieren wird, was er gar nicht benoetigt und damit steht er fuer die restlichen Aufgaben nicht mehr zur Verfuegung.
Zuletzt also noch zum Thema "passt nicht". Es gibt einen Grund, -heapsize hochzusetzen. (Ausser der schon angesprochenen Erhoehung von -zone, wobei das auch nur ein Vorschlag und nicht unbedingt notwendig ist). Wenn der Server mit einer xxx_Alloc Fehlermeldung aussteigt (z.B. Cache_Alloc oder Hunk_Alloc), dann weiss man, dass die -heapsize nicht mehr ausreicht und muss sie vorsichtig hoeher setzen. Sowas kann zum Beispiel bei Custommaps passieren, die eine grosse Anzahl Resourcen belegen. Und auch hier gilt: nicht uebertreiben. Der Default steht bei 32MB. Wenn das fuer einige Maps nicht reicht, ist es sicher Overkill, gleich 128MB zu nehmen. Es ist sinnvoller, sich in 8-12MB Schritten hochzuarbeiten, bis der Server wieder laeuft.
Also dran denken: Finger weg von -heapsize solange der Server laeuft. Sollte die -heapsize tatsaechlich nicht reichen, dann meldet sich der Server schon, indem er abschmiert.
|