2009-05-06 10 views
4

Etwa einmal in 1 oder 2 Monaten, meine 32bit CF8.01 (mit kumulativen Hotfix 2) auf Windows 2003 Server + IIS6 würde irgendwie aus einem unbekannten Grund einfrieren.ColdFusion 8.01 reagiert nicht ... Wie untersucht man, was los ist?

Der Task-Manager berichtete JRun mit ~ 600 MB (weit von der ~ 1,2 GB Grenze). Die CPU liegt nahe bei 0%.

Ich überprüfte das/log, und das neueste aktualisierte Protokoll hat nichts besonders interessantes zu tun.

Sobald ich den Dienst neu gestartet, sind die Dinge wieder in Ordnung ..

Was würden Sie tun, um zu untersuchen, was falsch ist?

Ich suchte online und jemand schlug vor, es ist etwas namens ein JRun Dead-Lock. Woher weiß ich, ob ich eine davon habe? Wie verhindere ich ein solches Problem?

Danke!

Update: sah ich das in JRun log, und es eine Menge der Folge Einträge hat:

konnte nicht initialisiert werden vom Remote-Server, JRun-Server (n) wahrscheinlich nach unten. Fehlerseite für Anschluss Rückkehr timed out

jrISAPI Proxy initialisieren konnten nicht für 127.0.0.1:xxxxx

jrISAPI nicht vom Remote-Server, JRun-Server (n) wahrscheinlich nach unten initialisieren kann.

Was ist los?

Danke.

Antwort

0

Sie können nicht wollen, Ihre JVM zu aktualisieren. Es hängt wirklich von Ihrer Anwendung ab. Die Standard-JRE mit cf 8.01 ist Java 1.6, aber wir fanden, dass 1.5 für unsere Anwendung, die objektlastig ist, viel effizienter funktioniert. Die Garbage-Collection-Mechanismen waren effizienter.

Wir hatten Mike Brunt, um mit uns daran zu arbeiten, die Anzahl der aktiven Threads für unser System zu ändern, die jrun-Speicherzuteilung zu ändern und die verschiedenen JVMs zu testen, um zu sehen, welche für uns besser funktionieren würden.

Die neueste JVM soll, besser sein bei schweren Gegenstand Anwendungen arbeiten, sondern in unseren Tests haben wir festgestellt noch die 1.5 Garbage Collection besser für unsere Anwendung geeignet zu sein.

Server-Tuning ein bisschen einer Kunst sein wird, und eine Menge von Versuch und Irrtum, Ihre Umgebung zu bekommen genau das Richtige für Ihre Anwendung.

(Thread war zu lang für einen Kommentar)

+0

Ich weiß, das war der Fall mit der Standard-JVM, die mit cf8 ausgeliefert wurde, was ich denke, war 1.6_7 oder etwas (ich könnte falsch liegen). Wenn jedoch 1.6_10 herauskam, wurde die Speicherbereinigung wie hier gezeigt repariert: http://www.bytestopshere.com/post.cfm/using-frameworks-2-jvm-changes-to-rock-your-world wäre es interessant, einen Benchmark mit Ihrer App auf 1.5 und dem neuen 1.6_13 zu sehen – rip747

2

Haben Sie die hotfix installiert?

JRun engineering has fixed the JRun deadlock issue with the hot fix provided below. Follow the instructions to install the hot fix : 

    1. Download the hot fix JAR file (3K). 
    2. Copy the JAR file into the servers\lib directory (or "servers/lib" on Unix and Linux). 
    3. This hot fix is compatible with JRun4 Updater 6 (build 106363) and greater. You can verify your build number by one of the following options: 
      * Open the JRun Management Console. Select Settings, then Version, to display the build number. 
      * Run the following command at the command prompt: 

      On Windows 2000, NT and Win9x: 

      cd "{jrun-base-dir}\bin" 
      jrun -info 

      On Unix and Linux: 

      cd $JRUN_HOME/bin 
      jrun -info 
+0

Wie Thread-Dump zu überprüfen? Ist dieser Hotfix für den CF8.01 Standard geeignet? danke! – Henry

+0

JRun 4. . . Was ist deine JRun-Version? – drizzle

+0

JRun 4 gebaut 108673 .. die Version, die mit CF8.01 kommt http://kb2.adobe.com/cps/403/kb403823.html – Henry

1

Alter, aktualisieren Sie Ihr jvm zuerst auf die neueste Version. Ich weiß, dass ich das die ganze Zeit sage, aber ich kann das nicht genug betonen. die Aktualisierung der JVM kann eine Welt von Fehlern und Stabilität beheben. Ich habe hier skizziert, wie das geht, und Links zu der neuesten Version für den cf 8-Standard bereitgestellt.

Upgrading the JRE used by ColdFusion

+0

Ich kann das versuchen ... Danke! – Henry