Tomcat- Come controllare le impostazioni di memory attualmente in uso

Ho installato un server Tomcat utilizzando Server 2008 e IIS 7.
Come posso sapere se la variabile di ambiente JAVA_OPTS viene effettivamente utilizzata?

Ho sentito prima che devo modificare il file service.bat per rendere utilizzabile la variabile di ambiente JAVA_OPTS, ma come posso dire se ha successo?

Non sono stato in grado di scoprire se c'è un modo per visualizzare questo nei registri o qualcos'altro più quantitativo. L'unico modo in cui potrei pensare di provarlo è di modificare la variabile e cercare di capire se c'è una differenza di performance. Ho impostato il JAVA_OPTS per essere quanto segue:

-server -Xmx1k -Xms1k-Xmn1k -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:PermSize=1k -XX:MaxPermSize=1k 

Inoltre, ho trovato la documentazione che dice di cambiare la seguente row in service.bat da:

 "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 256 

a:

 "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" %JAVA_OPTS% 

Non ho avuto errori quando ho eseguito il command

 service install ServiceName 

Finora tutto sembra funzionare velocemente come è sempre prima di reinstallare il servizio con le impostazioni di memory modificate, facendo pensare che il JAVA_OPTS non influenza niente.

Mi dispiace se questa è una questione di ampio tipo, ma non ho trovato un buon passo per scendere ancora da quello che sta accadendo in fondo. Può qualcuno far luce su questo?

  • Nginx come proxy inverso ad un'istanza di Tomcat tramite il connettore HTTP
  • org.apache.solr.common.SolrException: Errore durante il caricamento della class 'solr.VelocityResponseWriter'
  • Perché tomcat7 entra in catalina.out e catalina.YYYY-MM-DD.log?
  • Domanda sulla syntax della direttiva ProxyPass
  • Collegamenti temporizzati - Tomcat
  • Configurare un indirizzo IP anziché localhost: 8080 tomcat ad esempio: 192.260.0.2: 8080
  • Riavviare se il servizio tomcat7 non risponde
  • Il servizio Tomcat 6.0 non si avvia: java / lang / NoClassDefFoundError
  • 2 Solutions collect form web for “Tomcat- Come controllare le impostazioni di memory attualmente in uso”

    Va bene, ho trovato le informazioni che cercavo e quindi accetterò la mia risposta perché sto dando più dettagli, ma +1 a David Levesque per i lead.

    Ho scoperto che le impostazioni di memory che stavo cercando di impostare non erano state utilizzate. Per modificare le impostazioni di memory ho usato tomcat7w nella cartella \ bin.

    Eseguire il seguente command:

     tomcat7w //ES//<ServiceName> 

    Quindi dovrebbe essere visualizzato quanto segue:

    Java Service Manager

    Fare clic sulla scheda Java sottolineata e aggiungere argomenti nelle aree evidenziate.


    Per verificare questo, ho usato l'eseguibile jinfo (nella cartella \ bin). Jinfo printing le informazioni di configuration Java per un determinato process Java. Esegui questo command utilizzando la seguente syntax:

     jinfo -flags PID-of-Tomcat-executable 

    Il seguente piccolo script mi ​​ha risparmiato un po 'di tempo per scoprire il PID di Tomcat each volta, quindi ho pensato che posso anche postare qui:

     @echo off for /f "tokens=1,2 delims= " %%i in ('=tasklist ^| findstr "tomcat"') do ( echo Tomcat Executable = %%i echo Tomcat Process ID = %%j set tomcat_pid=%%j ) echo %tomcat_pid% %JAVA_HOME%\bin\jinfo -flags %tomcat_pid% 

    È ansible utilizzare l'utilità jinfo fornita con il JDK per interrogare le flag e le properties; di sistema in fase di runtime.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.