Was passiert bei längerem Überschreiten des garantierten Arbeitsspeichers

  • Hallo,


    ich habe einen vServer Bronze und kenne mich mit der Virtualisierung mittels linux-vserver noch nicht aus. Was passiert, wenn meine Prozesse über einen längeren Zeitraum mehr als den garantierten Arbeitsspeicher belegen.


    Werden die Prozesse dann gekillt oder einfach nur in den Swapbereich des Hostsystems gelegt?


    Falls sie gekillt werden, wird das irgendwo geloggt?


    Gruß


    Henk

  • Auf deine eigentliche Frage kann ich dir leider nichts genaueres sagen. Du solltest allerdings immer alle Dienste darauf auslegen, dass sie bei Normalbetrieb niemals swappen müssen. Der Swap sollte gerade bei vServern, wo er mit anderen Kunden geteilt wird und somit niemals 100% verfügbar ist eigentlich nie genutzt werden, maximal bei Lastspitzen für wenige Sekunden. Alles was darüber hinaus geht, wäre mir bei vServer zu riskant (und bei echten Root-Servern zu langsam, da die Festplatte genutzt wird :D )



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hallo killerbees19,


    danke für deine Hinweise. Die Argumente sind mir schon bekannt und danach werde ich den Speicherverbrauch auch ausrichten. Allerdings möchte ich die Antworten auf meine Fragen trotzdem wissen, da der Server für geschäftliche Dinge genutzt wird und ich daher gerne im Vorfeld mögliche Probleme kennen möchte.

  • Falls andere Kunden dann auch den Swap "ausnutzen" und er dadurch irgendwann gänzlich ausgelastet ist wirst du ziemlich sicher ein Problem bekommen. Denn dann bräuchte deine Software nur 1 Byte mehr Speicher brauchen (und das wird sie irgendwann) und sie wird gekillt, allerdings eben nicht von Netcup, sondern dann vom Linux System (Kernel) selbst, weil einfach zu wenig Speicher verfügbar ist ;)


    Den Swap (der Shared Ram ist) auf einem vServer allerdings immer auszunutzen finde ich allerdings sehr unfair gegenüber den anderen vServer Kunden, falls du das tatsächlich als Dauerzustand planen solltest. Hört sich jedenfalls so an :rolleyes:



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • nein es war nur eine rethorische frage


    ich benutze immoment 850kb swap :)
    das wird noch in ordnung sein
    ich denke nicht dass ich ihn jemals maximal ausnutzen werde

  • Zitat von kefink;4482

    ich benutze immoment 850kb swap :)


    Na dann entschuldige für meine Anschuldigung vorhin :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Wenn alle ihren Swapbereich ausnutzen, dann müssen deshalb noch lange nicht Programme gekillt werden. Schließlich kann das Hostsystem genügend tatsächlichen Swap haben, um den Mehrverbrauch auszulagern. Allerdings würden die entsprechenden vServer dann nicht mehr sonderlich toll performen.


    Ob das nun tatsächlich der Fall ist oder Programme gekillt werden, war ja meine eingangs gestellte Frage, die sich aber mittlerweile erübrigt hat. Ich habe nämlich versucht, mehr als meine 200MB zu bekommen, und festgestellt, dass schon nach 25MB Mehrverbrauch darauffolgende Versuche Speicher zu allozieren fehlschlagen. D.h. unabhängig von der Antwort auf meine Frage, ist es schon deshalb empfehlenswert die Grenze möglichst gar nicht erst zu überschreiten, denn wer weiß, was für einen Unsinn ein Programm in dem Fall macht.


    Außerdem habe ich gerade mal versucht 40 Instanzen von Apache2 zu starten und schon nach 29 Stück konnten keine neuen Prozesse mehr gestartet werden, obwohl nur 108MB Speicher verbraucht wurden. Weiß jemand vielleicht, ob und wo es eine Liste vom Limits gibt, damit man das Verhalten des vServers daran anpassen kann?

  • Zitat von henk77;4510

    Schließlich kann das Hostsystem genügend tatsächlichen Swap haben, um den Mehrverbrauch auszulagern.


    Ich glaube das siehst du bei den vServern leider falsch, denn mehr als den gesamt zur Verfügung stehenden "virtuellen" Swap wird das Hostsystem vermutlich nicht hergeben.


    Zitat von henk77;4510

    Außerdem habe ich gerade mal versucht 40 Instanzen von Apache2 zu starten und schon nach 29 Stück konnten keine neuen Prozesse mehr gestartet werden, obwohl nur 108MB Speicher verbraucht wurden. Weiß jemand vielleicht, ob und wo es eine Liste vom Limits gibt, damit man das Verhalten des vServers daran anpassen kann?


    Zeig doch einmal deine Apache Config (Worker oder Prefork Teil, je nachdem was du verwendest), der Apache erstellt nicht unendlich viele Prozesse, wenn sie zur Zeit eh nicht gebraucht werden ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat von killerbees19;4515

    Ich glaube das siehst du bei den vServern leider falsch, denn mehr als den gesamt zur Verfügung stehenden "virtuellen" Swap wird das Hostsystem vermutlich nicht hergeben.


    Interessant, du mutmaßt einerseits und behauptest andererseits, dass ich das "falsch sehe", obwohl ich die von dir genannte Möglichkeit schon in meiner Frage in Betracht gezogen hatte. Vielleicht solltest du deine Formulierungen etwas feinfühliger wählen und Anschuldigungen und solche Behauptungen weglassen. Nichtsdestotrotz stimme ich mit deiner Meinung insofern überein, dass ich es ebenfalls für wahrscheinlicher halte, dass netcup es so eingestellt hat, dass nicht beliebig oder eben gar nicht in den Swapbereich des Hostsystems ausgelagert wird.


    Zitat

    Zeig doch einmal deine Apache Config (Worker oder Prefork Teil, je nachdem was du verwendest), der Apache erstellt nicht unendlich viele Prozesse, wenn sie zur Zeit eh nicht gebraucht werden ;)

    Danke für die Anmerkung, aber die Einstellungen waren richtig und es kamen auch entsprechende Fehlermeldungen, das keine Prozesse mehr gestartet werden können.



    Also bitte zurück zu meiner neuen Frage: Sind jemandem weitere Limits bekannt? Ansonsten werde ich am Montag mal bei Netcup direkt anfragen.

  • Zitat von henk77;4517

    Vielleicht solltest du deine Formulierungen etwas feinfühliger wählen und Anschuldigungen und solche Behauptungen weglassen.


    Entschuldige, wenn ich mich da etwas unpassend ausgedrückt habe ;)


    Zitat von henk77;4517

    Also bitte zurück zu meiner neuen Frage: Sind jemandem weitere Limits bekannt? Ansonsten werde ich am Montag mal bei Netcup direkt anfragen.


    Da es bei der hier eingesetzten Virtualisierungslösung ja keine beancounters-Datei oder ähnliches gibt durch das man eventuelle Limits selbst sehen kann, wird dir leider nichts anderes übrig bleiben als einmal direkt Netcup zu fragen. Das hatte ich für manche Limits (max. Anzahl an Dateihandles usw.) auch bereits gemacht, allerdings wurde mir bisher erklärt, dass es solche Limits bei den vServern nicht gibt, was ich mir persönlich nur schwer vorstellen kann, dass es gar keine Limitierung bei bestimmten Werten gibt. Aber vielleicht erfährst du ja mehr Details :)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Der Vollständigkeit halber möchte ich anderen mit ähnlichen Problemen noch das Ergebnis meines Tickets bezüglich der Limits mitteilen.


    Meine Frage bezüglich der Limits wurde zwar ignoriert, dafür wurde mir aber empfohlen, einen Neustart durchzuführen. Vermutlich wurden Einstellungen geändert und die werden erst nach einem Neustart aktiv. Auf jeden Fall gibt es seit dem Neustart keine Probleme mehr beim Forken der Prozesse und bei Anfragen über das Soft Limit hinaus werden die Speicheranfragen nicht mehr so früh zurückgewiesen.