Starface 6.x | Tomcat | -Xmx1024m

  • Hat das einen bestimmten Grund weshalb der Tomcat nur mit 1024m startet?


    Ich hab noch viel RAM übrig:

    Code
    [root@tel /]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          7.8G       3.1G       4.7G        37M       180M       1.9G
    -/+ buffers/cache:       1.0G       6.8G
    Swap:         2.0G         0B       2.0G
    [root@tel /]#


    Allerdings habe ich die Stelle gar nicht gefunden wo das definiert wird (oder übersehen).

  • Frohes neues.


    Code
    [root@localhost ~]# ps -aef | grep tom
    tomcat    2487     1  2 Jan01 ?        02:28:33 /usr/lib/jvm/java/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Xmx11988M -XX:MaxDirectMemorySize=1198M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/starface/tomcat-jmv-dump.hprof -Dderby.storage.pageCacheSize=200 -XX:+UseParallelGC -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dorg.apache.tomcat.util.http.Parameters.MAX_COUNT=10000 -Djdk.tls.ephemeralDHKeySize=4096 -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start



    Code
    [root@localhost ~]# grep -r -i "\-Xmx" /var
    /var/lib/tomcat6/webapps/localhost/starface/WEB-INF/system-scripts/tomcatStopJettyStart.sh:     jre/bin/java "-Xmx${JETTYMEM}M" -jar start.jar


    Ausstattung (Platinum):

    Code
    [root@localhost ~]# free -h
                 total       used       free     shared    buffers     cached
    Mem:           15G        15G       292M       105M       171M       7.9G
    -/+ buffers/cache:       7.3G       8.3G
    Swap:         2.0G       616K       2.0G


    Noch nicht wach? Von dir hätte ich mehr erwartet. ;)

  • Siehste, mir das das Datenbankzeug nix, da greppe ich auch schon mal Stumpf die Verzeichnisse durch, in der Hoffnung was zu finden. Zu C64 und Amigazeiten habe ich noch mit einem Diskeditor alle Blöcke auf dem Medium nach Texten untersucht (und oft auch gefunden).

  • Code
    [root@localhost ~]# grep -r -i "\-Xmx" /var
    /var/lib/tomcat6/webapps/localhost/starface/WEB-INF/system-scripts/tomcatStopJettyStart.sh:     jre/bin/java "-Xmx${JETTYMEM}M" -jar start.jar


    Dieses Script ist es schon mal nicht, es zeigt keine Wirkung, es sind wieder nur 1024M als Xmx gesetzt.
    Mich stört auch der Kommentar "# 32bit JVM (client mode)".


    Und ja ich hab die ganze Starface mal neu gestartet, wo kommt der Xmx Wert her?

  • Das gleiche Script gibt es dort nochmal:
    /opt/jetty/webapps/starface/WEB-INF/system-scripts/tomcatStopJettyStart.sh


    Lt. dem Log /var/log/starface/watchdog-0.log werden viele Parameter aus /opt/ geholt.

  • Es gibt auch noch /usr/sbin/tomcat6_catalina_opts.sh
    das zeigt zumindest mal Wirkung :)


    Code
    Invalid maximum heap size: -Xmx4096M


    So ganz steige ich da noch nicht durch, vor allem diese ganze Appliance detection scheint damit irgenwie auch noch mit rein zu spielen.

  • Es gibt irgendwie auch eine Atom CPU detection, gab es mal ein Atom mit 32 Bit was die Starface dazu verleitet:


    Dazu passt das hier:

    Code
    ####### STARFACE version 6.7.3.11 started in 49020ms. #######
      Current Java version is: 1.8.0_202
      JVM: Java HotSpot(TM) Client VM (25.202-b08, mixed mode, sharing)
      Running on: 8x [B][U]i386[/U][/B] Processor(s)
      RAM available for JVM: 910 MB
      Free hard disk space: 101 GB
    [...]


    Allerdings habe ich ein Atom C2758 welcher natürlich 64Bit fähig ist.
    https://ark.intel.com/content/…58-4m-cache-2-40-ghz.html

  • Das muss das Script ja nicht wissen. Man müsste mal ein paar alte Starface-Installation durchforsten, seit wie vielen Jahren sich an dem Script nichts mehr geändert hat.


    Irgendwann machts halt Sinn, noch mal bei 0 zu beginnen. Ob der Author noch für Starface arbeitet?


    Der Teil dürfte bei Atom-CPUs das Limit sein:

    Code
    if [ '${ARCH}' = 'x86_64' ] && [ ${MEM} -ge 1800 ] && [ ${IS_ATOM} -ne 0 ]; then
      # 64bit JVM (server mode)
      JETTYMEM=$((JETTYMEM-256))
    else
      # 32bit JVM (client mode)
      if [ ${JETTYMEM} -gt 1024 ]; then
        JETTYMEM=1024
      fi
    fi
  • Ja ich denke auch, versuche gerade ein IS_ATOM=1 mal sehen was jetzt passiert.
    Vielleicht muss ich mal ein paar echo "activeX" >> /tmp/test.log einbauen das man überhaupt sieht welches Script geladen wird.


    Oder mal in Starface 7 nachschauen, evtl. wurde das überarbeitet.

  • IS_ATOM=1 in /usr/sbin/tomcat6_catalina_opts.sh
    hilft schon mal, jetzt kommt wieder "Invalid maximum heap size: -Xmx5979M".


    Ich grepe mal nach IS_ATOM und ersetzte das überall...

  • Keine Change...


    Code
    Invalid maximum heap size: -Xmx5979M
    The specified size exceeds the maximum representable size.
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
  • Probiere doch mal java direkt aufzurufen und die Parameter anzupassen.


    Code
    /usr/lib/jvm/java/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Xmx11988M -XX:MaxDirectMemorySize=1198M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/starface/tomcat-jmv-dump.hprof -Dderby.storage.pageCacheSize=200 -XX:+UseParallelGC -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dorg.apache.tomcat.util.http.Parameters.MAX_COUNT=10000 -Djdk.tls.ephemeralDHKeySize=4096 -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start


    Ich habe auf meiner gerade zu viele Calls zum Spiel (Callcenterbetrieb).

  • Das Problem scheint zu sein das Java als 32bit im Client mode anstatt 64bit im Server mode läuft.
    Warum auch immer, evtl. wurden hier auch alternatives durch den Installer auf 32Bit gesetzt.


    @ Starface, wie kann ich den RAM nutzen?


    Edit:
    /usr/lib/jvm/java/bin/java -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Xmx1024M -XX:MaxDirectMemorySize=102M -client [...]

    Grüße
    slu


    ---
    Ich bin kein Starface Partner - zufriedener Starface Anwender seit Anfang 2008.

    Meine Module: Einfache Community Blacklist

    Einmal editiert, zuletzt von slu ()

  • Suche mal nach allem, was mit .sh endet. ;)


    I know, ich finde es spannend ;)
    Nur das es gleiche oder ähnliche Scripts an verschiedenen Stellen gibt ist komisch.


    Ich denke die Sache kommt evtl. von alten Appliances, gab es nicht mal ein Atom ~ 2009 der keine 64Bit kann?
    Demnächst sollte ich ein C3XXX Atom Board haben, da werde ich mal die Starface 7 installieren, vielleicht ist da das Problem schon weg.

  • Alles histerisch gewachsen.


    Du glaubst gar nicht, was ich alles auf den Voice-System hier gefunden hatte, als ich die Abteilung übernommen hatte. Am besten war noch das System, was das SARF (Behördenauskunftssystem) gefüttert hatte. Im Cronjob stand "/please/fill/out/the/path/for/the/database". Auch das Notrufrouting wurde über mehr als 4 Jahre nicht gepflegt. Da ist sowas wie /etc/asterisk/scripts/dailymail.sh noch harmlos.

  • Alles histerisch gewachsen.


    Ich bin ja froh das ich ein SSH Zugang habe, es gibt so viele Produkte die außen Hui und innen Pfui sind, was man aber mangels Zugang nicht mal anschauen kann.



    Da ist sowas wie /etc/asterisk/scripts/dailymail.sh noch harmlos.


    Wow, ich nehme an das Script läuft nicht mehr sonst gibt es viele Mails.



    ###


    Zu meinem eigentlichen Problem, ich werde später nochmal auf die Suche gehen ob ich ein Script finde welches die -client an Java übergibt. Das ist vermutlich in Kombination mit dem IS_ATOM die Lösung.

  • bytegetter,


    bei dir zeigt das auf x64 oder?

    Code
    [root@tel sbin]# alternatives --display java
    java - status is manual.
     link currently points to /usr/lib/jvm/jre-1.8.0-oracle.i386/bin/java


    Jetzt macht auch die Fehlermeldung Sinn.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!