alex: speichertests, profiling, benchmark wie auch immer

hi

ich habe ein script welches per cronjob gestartet wird.
dieses führt dann per "system" mehrere perl scripte in der shell aus (per threads oder als kombinierten befehl, ist eigentlich egal)

nun habe ich das problem, dass der speicherverbrauch relativ hoch ist, deswegen suche ich ne möglichkeit das zu verbessern.

beispiel:
root      4716  1.5  0.0      0     0 ?        Zs   16:00   0:00 [KA_cronjob.pl] <defunct>
root      4720  0.5  3.5  16704  4688 ?        D    16:00   0:00 /usr/bin/perl ./KA_bieten.pl AID=123 UID=1
root      4721  0.6  3.3  16700  4388 ?        D    16:00   0:00 /usr/bin/perl ./KA_bieten.pl AID=124 UID=2
root      4724  0.3  4.2  11520  5560 ?        D    16:00   0:00 /usr/bin/perl ./KA_bieten.pl AID=127 UID=2
root      4725  0.3  5.1  13872  6716 ?        D    16:00   0:00 /usr/bin/perl ./KA_bieten.pl AID=134 UID=1
root      4729  0.4  6.7  16140  8844 ?        D    16:00   0:00 /usr/bin/perl ./KA_bieten.pl AID=138 UID=2

  • gibt es generelle lösungsansätze diesen speicherverbrauch zu minimieren? (threads tun das nicht, nen daemon hilft mir nicht viel)

ich habe versucht GTop zu installieren, allerdings schlägt die installation per cpan und per make fehl (weil gnome-config und glib-config nicht installiert sind) und ich nicht so viel kompetenzen hab da am server rumzufrickeln.

gibt es vielleicht eine andere gute möglichkeit die scripte zu testen möglichst als modul welches ich im script selbst nutzen kann?

ansonsten versuch ich jetzt mal zu profilen mit dem prof-devel, danke im voraus

alex

  1. gibt es vielleicht eine andere gute möglichkeit die scripte zu testen möglichst als modul welches ich im script selbst nutzen kann?

    Ich würde mich auf CPAN.org nach der Devel::-Modulgruppe umsehen (so noch nicht geschehen).

    Siechfred

    --
    Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.
    1. danke, ich denke das Devel::DumpSize ist genau was ich suchte.

      aber wie gesagt, per cpan geht nichts zu installieren und per make nicht alles, so auch das hier:

      was kann ich da tun?
      kennt jemand den apt-get namen für das modul?

      b2:~/.cpan/build/Devel-Size-0.68# perl Makefile.PL
      Cannot determine perl version info from lib/Devel/Size.pm
      Writing Makefile for Devel::Size

      b2:~/.cpan/build/Devel-Size-0.68# make
      cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION="0.68" -DXS_VERSION="0.68" -fPIC "-I/usr/lib/perl/5.8/CORE"   Size.c
      In file included from Size.xs:2:
      /usr/lib/perl/5.8/CORE/perl.h:420:24: error: sys/types.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:451:19: error: ctype.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:463:23: error: locale.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:480:20: error: setjmp.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:486:26: error: sys/param.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:491:23: error: stdlib.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:496:23: error: unistd.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:776:23: error: string.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:925:27: error: netinet/in.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:929:26: error: arpa/inet.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:939:25: error: sys/stat.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:961:21: error: time.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:968:25: error: sys/time.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:975:27: error: sys/times.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:982:19: error: errno.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:997:25: error: sys/socket.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:1024:21: error: netdb.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:1127:24: error: sys/ioctl.h: No such file or directory
      /usr/lib/perl/5.8/CORE/perl.h:1156:23: error: dirent.h: No such file or directory
      .
      .
      .
      Size.c:622: error: invalid type argument of 'unary *'
      Size.c:622: error: invalid type argument of 'unary *'
      Size.c:622: error: invalid type argument of 'unary *'
      Size.c:624: error: invalid type argument of 'unary *'
      .
      .
      .
      make: *** [Size.o] Error 1

      1. aber wie gesagt, per cpan geht nichts zu installieren und per make nicht alles, so auch das hier [...] was kann ich da tun?

        Eventuell helfen dir die CPAN-Tester weiter. Möglicherweise hilft eine andere Distribution.

        kennt jemand den apt-get namen für das modul?

        Ich nicht, mein ActivePerl läuft unter Windows, da gibt's so Klickibunti-Tool für ;)

        Siechfred

        --
        Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.