2012-04-10 4 views
38

Tomcat führt eine Webanwendung unter Windows aus. Nach ein paar Tagen (unter sehr geringer Last) beginnt die im Titel erwähnte Ausnahme in den Protokollen zu erscheinen, von diesem Punkt an können keine neuen Verbindungen mehr aufgebaut werden, die einzige Lösung ist dann, den Server neu zu starten.java.net.SocketException: Kein Pufferspeicher verfügbar (maximale Verbindungen erreicht?): JVM_Bind

Umwelt:

  • Neueste Tomcat 6
  • Windows Server 2008 R2
  • JDK 6 Update 30
  • SQL Server 2008
  • Kerberos-Authentifizierung

Evidence bisher gesammelt :

  • netstat zeigt keine übermäßige Menge an Verbindungen
  • Process zeigt keine übermäßige Menge an offenen Datei
  • Griffe
  • Systemhauptspeichernutzung
  • JVM Heap-Nutzung Durchschnitt Durchschnitt ist
  • Neustarten Tomcat löst nicht die
  • Problem

Offene Fragen:

  • Wenn wir Anschlüsse verlieren, sollten sie nicht in Netstat angezeigt werden?
  • sollte kein Neustart des Anwendungsservers das Problem lösen, weil das Betriebssystem alle Prozessressourcen freigeben sollte?
  • Gibt es eine Möglichkeit, das Problem auf seinen Ursprung zurückzuführen? Z.B. Installation von Monitoring-Software, vielleicht etwas ähnliches wie lsof etc.?

Ich bin aus Ideen, irgendwelche Hinweise geschätzt!

+0

Es gibt viele Fragen, die Ihren ähneln, bitte führen Sie eine Suche durch und überprüfen Sie sie zuerst. –

+5

Ich tat, glaub mir. Keiner von ihnen half, mein Problem zu lösen, weil ich keine der Symptome sehe, die ich sehen sollte, und keiner von ihnen enthält Hinweise, wie die Ursache des Problems identifiziert werden kann. –

Antwort

56

Der Grund, warum wir diesen Fehler bekamen ein Fehler in Windows Server 2008 R2/Windows 7. Die Kernel-Lecks Loopback-Buchsen aufgrund einer Race-Bedingung auf Maschinen mit mehr als einem Kern, dieser Patch behebt das Problem: http://support.microsoft.com/kb/2577795

+0

Ich habe das vielleicht gerade erlebt. Liegt dieser Fehler 2014 noch vor und Hotfix wurde keinem Update hinzugefügt? –

+2

Wir verwenden Windows Server 2012 und stehen immer noch vor diesem Problem. Gibt es dafür eine andere Lösung? Oder das Problem ist völlig anders? –

+0

@Buddy_Casino, bekomme ich auch diesen Fehler und alle meine Cache-Speicher-Knoten sind auf Win 2008 R2-Servern. Ich möchte Sie fragen, wie diese Schlussfolgerung erreicht wurde. –

1

Wir sehen die gleiche Sache auf einem ähnlichen Setup, W2008R2, Tomcat 6.0.29, Java 1.6.0.25. Der Neustart von Tomcat hilft nicht, aber den Server selbst neu zu starten, zumindest für eine Weile. Nach dem letzten Mal haben wir begonnen, einzelne Dienste herunterzufahren und glauben, dass wir uns entweder auf eine Alfresco-Instanz beschränken, die auch auf dem Server oder den Backup Exec Agent-Diensten läuft. Nachdem diese Dienste (insgesamt vier) gestoppt wurden, fingen die Anwendungen in Tomcat wieder an zu arbeiten, obwohl wir immer noch den Puffer/Verbindungsfehler im stdout-Protokoll sahen, der seltsam war. Ich werde warten müssen, bis das Problem wieder auftritt, bevor ich bestätige, welches die Ursache ist, was irgendwo zwischen ein paar Tagen und einer Woche oder mehr liegen könnte.

Haben Sie eine Chance, Alfresco oder BE auf Ihrem Server zu betreiben?

+0

Wir laufen tatsächlich Alfresco, aber ich denke, wir haben das gelöst. Siehe meine Antwort. –

11

Ich lief Alfresco Community 4.0d unter Windows 7 64 Bit und hatte die gleichen Symptome und Fehler.

Das Problem wurde mit Microsoft-Patch behoben: "Kernel-Buchsen auf einem Multi-Prozessor-Computer auslaufen, auf dem Windows Server 2008 R2 oder Windows 7 läuft" (http://support.microsoft.com/kb/2577795) (dh Buddy Casino Antwort (siehe unten).).

Eine weitere Beobachtung, die ich hinzufügen möchte, ist, dass Windows-Verbindungen (Internet Explorer, Remotedesktop usw.) etwa 5-10 Minuten nach dem Herunterfahren der Alfresco-Dienste wieder funktionieren würden.

Alfresco ist ein ausgezeichnetes Produkt und ich hatte Angst, ich müsste es verschrotten. Glücklicherweise kam stackoverflow zur Rettung!

Danke nochmal an die Antwort von Buddy Casino.

Boo zu der Person, die die Frage herabstimmte.

+0

Gleiches Problem in Windows Server 2012 R2. Jeder Patch ist verfügbar, um dieses Problem zu beheben. App-Server (jboss) sieht gut aus, Heap auch weniger als ein Durchschnitt. aber in einigen Stunden nach dem Neustart des Servers, bekomme ich diesen Fehler auf dem Server. Ich überprüfte den Code und prüfte lokal, es gibt keine Leckage im laufenden Code. – ilaiya

Verwandte Themen