2011-01-14 6 views
2

Vor kurzem haben wir eine Struts-Anwendung in der Produktion implementiert, nach einiger Zeit, wenn wir versuchen, die Liste der JAR-Dateien zu öffnen, zeigt es zwei viele JAR-Dateien geöffnet kann jemand mir sagen, warum dies passiert?Tomcat öffnet zu viele JAR-Dateien? Any Fix

lsof | grep struts 

java  9762  root mem  REG    253,1 2326673 31850728 /smanne/feat-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root mem  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 47r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 50r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 51r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 53r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 54u  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 56r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 57r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 58r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 59r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 60r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 113r  REG    253,1 2326673 31850728 /smanne/feat-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  9762  root 120r  REG    253,1 2326673 16121954 /smanne/dev-01/app/WEB-INF/lib/struts2-core-2.0.14.jar 
java  23871  root mem  REG    253,1 2326674 6324271 /reports/dev-01/libs/struts2-core-2.0.14.jar 
java  23871  root 6r  REG    253,1 2326674 6324271 /reports/dev-01/libs/struts2-core-2.0.14.jar 

Gibt es eine Methode, die JAR-Dateien zu teilen?

+0

Implementieren Sie mehrere Apps in demselben Tomcat und dieselben JAR-Dateien werden mehrmals geladen? – fmucar

+0

können Sie bestätigen, dass wenn eine JAR-Datei in web-inf/lib abgelegt wird, diese für jede Anfrage geladen wird? –

+0

Nein, nicht pro Anfrage, sondern pro Anwendung. – fmucar

Antwort

1
TOMCAT_HOME\lib\ 

Sie können shared libraries in das obige Verzeichnis einfügen.

0

Vielleicht

  • Mehrere Ressourcen aus der Datei gelesen werden
  • Sie Hot Deploy und Griffe sind noch offen aus früheren Anwendungskontext

EDIT

Nun, ich bin kein unix guru, aber ich nehme an "lsof" zeigt offene griffe. Jedes Mal, wenn ein Dateistream geöffnet oder geschlossen wird, ändert sich dies.

+0

lsof | grep struts - Dieser Befehl gibt unterschiedliche Ergebnisse zu verschiedenen Zeiten, manchmal ist die Anzahl der geöffneten Dateien weniger und manchmal steigt sie? Irgendwelche Eingaben warum –