RAM läuft voll, weil server.php in einer Endlosschleife läuft

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von syfy323, 10. Juni 2015.

  1. syfy323

    syfy323 New Member

    Hallo zusammen,
    ich habe das komische Phänomen, dass "server.php" (Teil von server.sh) irgendwann (manchmal nach Stunden, manchmal Tagen, Wochen) hängen bleibt und dann endlos oft gespawnt wird (wird ja jede Minute getriggert). Anschließend läuft das Script in einer Endlosschleife, da das Lock-file existiert. Ende vom Lied ist, dass der RAM voll ist, die VM ohne Ende swappt und dann Dienste hängen und schließlich gekillt werden.

    Im Fehlerfall wurde mysqld gekillt und es liefen ca. 200 PHP-CLI-Jobs. Leider habe ich mangeln Zeit noch nicht genügend Debugging machen können, ich habe das Problem allerdings sowohl auf Deb 8 als auch 7. Ich betreibe ein Multiserver-Setup mit 11 Membern. Um das Problem in den Griff zu bekommen, arbeite ich gerade an einem Script, welches die php-Prozesse mit server.php killt, wenn es mehr als 3 drei gibt. Es wäre aber grundsätzlich sinnvoll dies auch in ISPC zu übernehmen, da die server.php ohnehin nur einmalig laufen darf.

    Hier sieht man gut was passiert:
    [​IMG]

    Kennt jemand das Problem?
     
  2. florian030

    florian030 Member

    Ich habe das Problem so noch nicht gehabt. Du könntest testweise in server.sh schon den Check nach dem Lock-Fiile einbinden. Sowas wie
    Code:
    if [ ! -f /usr/local/ispconfig/server/temp/.ispconfig_lock ]; then
      cd /usr/local/ispconfig/server
      /usr/bin/php -q /usr/local/ispconfig/server/server.php
    fi
     
  3. Till

    Till Administrator

    Sowas hatte ich auch noch nicht und an sich kann es nicht mehr als einmal laufen, wegen lockfile chcek. Ist vielleicht die Festplatte voll oder fehlt das temp Verzeichnis, in dem das Lockfile angelegt wird?
     
  4. florian030

    florian030 Member

    Das Script kann schon öfter laufen. Im Check wird bis zu 2 Minuten das Lock-File geprüft und erst dann das Script beendet. Es müssen aber schon Massen an Änderungen sein, damit server.php derartig lange läuft.
     

Diese Seite empfehlen