कभी-कभी, यह त्रुटि इंगित करती है कि सर्वर पर भौतिक मेमोरी और स्वैप वास्तव में पूरी तरह से उपयोग किए जाते हैं!
मैं इस समस्या को हाल ही में 48 GB RAM के साथ RedHat Enterprise Linux 5.7 चलाने वाले सर्वर पर देख रहा था। मैंने पाया कि अभी भी चल रहा है
java -version
उसी त्रुटि के कारण, जिसने यह स्थापित किया कि समस्या मेरे आवेदन के लिए विशिष्ट नहीं थी।
चल रहा है
cat /proc/meminfo
बताया गया कि मेमफ्री और स्वैपफ्री क्रमशः मेमोटोटल और स्वोटोटल मूल्यों के 1% से कम थे।
MemTotal: 49300620 kB
MemFree: 146376 kB
...
SwapTotal: 4192956 kB
SwapFree: 1364 kB
मशीन पर चल रहे कुछ अन्य अनुप्रयोगों को रोकने से मुफ्त मेमोरी के आंकड़े कुछ हद तक बढ़ गए:
MemTotal: 49300620 kB
MemFree: 2908664 kB
...
SwapTotal: 4192956 kB
SwapFree: 1016052 kB
इस बिंदु पर, जावा का एक नया उदाहरण ठीक शुरू होगा, और मैं अपना एप्लिकेशन चलाने में सक्षम था।
(जाहिर है, मेरे लिए, यह सिर्फ एक अस्थायी समाधान था; मेरे पास अभी भी उस मशीन पर चल रही प्रक्रियाओं की अधिक गहन परीक्षा करने के लिए एक उत्कृष्ट कार्य है, यह देखने के लिए कि क्या ऐसा कुछ है जो नाममात्र स्मृति उपयोग के स्तर को कम करने के लिए किया जा सकता है, बिना आवेदनों को रोकने का सहारा लेना।)