Manchmal zeigt dieser Fehler an, dass der physische Speicher und der Swap auf dem Server tatsächlich voll ausgelastet sind!
Ich habe dieses Problem kürzlich auf einem Server mit RedHat Enterprise Linux 5.7 mit 48 GB RAM festgestellt. Ich fand das sogar nur rennen
java -version
verursachte den gleichen Fehler, der feststellte, dass das Problem nicht spezifisch für meine Anwendung war.
Laufen
cat /proc/meminfo
berichteten, dass MemFree und SwapFree beide deutlich unter 1% der MemTotal- bzw. SwapTotal-Werte lagen:
MemTotal: 49300620 kB
MemFree: 146376 kB
...
SwapTotal: 4192956 kB
SwapFree: 1364 kB
Durch das Stoppen einiger anderer laufender Anwendungen auf dem Computer wurden die Zahlen für den freien Speicher etwas erhöht:
MemTotal: 49300620 kB
MemFree: 2908664 kB
...
SwapTotal: 4192956 kB
SwapFree: 1016052 kB
Zu diesem Zeitpunkt würde eine neue Java-Instanz in Ordnung gestartet, und ich konnte meine Anwendung ausführen.
(Für mich war dies natürlich nur eine vorübergehende Lösung. Ich habe immer noch eine herausragende Aufgabe, die auf diesem Computer ausgeführten Prozesse eingehender zu untersuchen, um festzustellen, ob etwas getan werden kann, um die nominale Speichernutzung zu reduzieren, ohne auf das Stoppen von Anwendungen zurückgreifen müssen.)