eddi: Optimierung bzgl. Speicherauslastung bei mehreren Prozessen

Beitrag lesen

Hallo,

Hört sich interessant an - ich verwende Debian 3.1, dazu habe ich PHP (aus diversen Gründen) selbst kompiliert und habe dabei immer --with-xyz=shared angegeben, das wird dann in so Extensions kompiliert wie beim Apache es auch die Module gibt, man kann die dann einzeln laden. Hinzu kamen noch ein paar Sachen mit --enable-xyz, wo ich nicht wusste, wie ich die shared machen kann, sodass diese also fest einkompiliert sind.

Du kannst Dir alle Erweiterugnen nachträglich aus den Sourcen bauen. In Deinem Fall wäre wahrscheinlich folgendes zielführend:

$ EXTENSION_DIR="/dein/pfad/zur/den/Modulen" \ INCLUDE_PATH="/vorkonfigurierter/includepfad:." \ CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" \ ./configure \ --prefix=/usr/local/bin/php5 \ --disable-all \ --disable-cgi \ --weitere-parameter

$ make && make install

$ cd ext/pcntl
$ /usr/local/bin/php5/phpize
$ CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" \ ./configure --with-php-config=/usr/local/bin/php5/php-config

$ make && make install

Somit hättest Du dann unter "/dein/pfad/zur/den/Modulen" die pcntl.so.

Jetzt wollte ich hingehen und eine andere php.ini verwenden, in der alle nicht benötigten Extensions nicht geladen werden, ich habe die php.ini angelegt und wollte folgende Shebang verwenden:

#!/usr/local/bin/php5 -c /absoluter/pfad/zur/php.ini

Das Problem kenne ich und es läßt sich leider nicht ändern.

Erfolg hats auf jeden Fall gebracht, der laufende PHP-Prozess brauchte nur noch 1.7% bis 1.8% des RAMs - also deutlich weniger. Ich mache mir aber auch immer noch Gedanken darüber, ob man für einen User auf dem System die maximale Menge an RAM einschränken kann...

Rufe Dein script bitte mal mit folgendem auf:

$ env -i ./script.name

Gruß aus Berlin!
eddi

0 111

PHP-CLI, in PHP auf kill reagieren

Dennis
  • php
  1. 0
    Geplagter
    1. 0
      Dennis
  2. 1
    Tom
  3. 0
    Manuel B.
    1. 0
      Tom
      1. 0
        Manuel B.
      2. 0
        eddi
    2. 0
      Dennis
      1. 0
        Manuel B.
        1. 0
          Dennis
          1. 0
            Manuel B.
        2. 0
          eddi
          1. 0
            Manuel B.
    3. 2
      dedlfix
      1. 0
        Tom
        1. 0
          eddi
          1. 0
            Dennis
            1. 0
              Christian Seiler
              1. 0
                Dennis
                1. 0
                  Tom
                  1. 0
                    Christian Seiler
      2. 0

        Funktioniert, aber ich habs noch nicht ganz verstanden...

        Dennis
        1. 0
          Tom
          1. 0

            Noch eine Frage

            Dennis
            • webserver
            1. 0
              Tom
              1. 2
                Christian Seiler
                1. 0
                  Tom
                  1. 0
                    Christian Seiler
                    1. 0
                      Tom
                      1. 0

                        Break, CTRL-C, SIGINT, usw.

                        Tom
                        1. 0
                          Christian Seiler
                      2. 0
                        Christian Seiler
            2. 2
              Christian Seiler
              1. 0
                Dennis
                1. 0
                  Christian Seiler
                  1. 0
                    Dennis
                    1. 0
                      Christian Seiler
                      1. 0
                        eddi
                        1. 0
                          Christian Seiler
                          1. 0

                            sleep() vs. SIGSTOP

                            Dennis
                            1. 0
                              Christian Seiler
                              1. 0
                                Dennis
                                1. 0
                                  Christian Seiler
                      2. 0
                        Christian Seiler
          2. 0
            Tom
            1. 0
              Christian Seiler
              1. 0
                Tom
                1. 0
                  Christian Seiler
                  1. 0
                    Tom
                    1. 0
                      Christian Seiler
                      1. 0
                        Manuel B.
                        1. 0
                          Tom
                          1. 0
                            Christian Seiler
                          2. 0
                            Manuel B.
                      2. 0
                        Tom
                        1. 0
                          Christian Seiler
                          1. 0
                            Dennis
                            1. 1
                              Christian Seiler
        2. 1
          Christian Seiler
          1. 0
            Dennis
            1. 0
              eddi
              1. 0
                Dennis
                1. 0
                  Manuel B.
                  1. 0
                    eddi
                    1. 0
                      Manuel B.
                      1. 0
                        Dennis
                        1. 0
                          Manuel B.
                          1. 0
                            Dennis
                            1. 0
                              Manuel B.
                              1. 0
                                Dennis
                                1. 0
                                  Manuel B.
                                  1. 0
                                    Dennis
                                    1. 0
                                      Manuel B.
                  2. 0
                    Dennis
                    1. 0
                      Manuel B.
            2. 0
              Christian Seiler
              1. 0
                Dennis
                1. 0
                  Christian Seiler
                  1. 0
                    Dennis
  4. 0

    pcntl_fork() und posix_setsid(), was passiert da?

    Dennis
    1. 0
      Dennis
  5. 0

    Optimierung bzgl. Speicherauslastung bei mehreren Prozessen

    Dennis
    1. 0
      Christian Seiler
      1. 0
        Dennis
        1. 0
          eddi
          1. 0
            Dennis
            1. 0
              eddi
              1. 0
                Dennis
                1. 0
                  eddi
                  1. 0
                    Dennis
                    1. 0
                      eddi
      2. 0
        Manuel B.
        1. 0
          eddi
  6. 0

    exec() wartet nicht obwohl aufgerufenes Script sich forked

    Dennis
    1. 0
      eddi
    2. 0
      Christian Seiler
      1. 0
        Dennis
        1. 0
          Christian Seiler
          1. 0
            Christian Seiler
            1. 0
              Dennis
              1. 0
                Christian Seiler
                1. 0
                  Dennis
                  1. 0
                    Dennis
                    1. 0
                      Christian Seiler
                      1. 0

                        mod_auth_pam - Funktionsweise

                        Dennis
                        • webserver
                        1. 0
                          eddi
                          1. 0
                            Dennis
                            1. 0
                              Dennis
                              1. 0
                                eddi
                      2. 0

                        mod_authnz_external und pwauth

                        Dennis