पर यूडीपी पैकेट भेजने के दौरान कोई बफर स्पेस उपलब्ध नहीं है मेरे पास एक तृतीय पक्ष घटक है जो एक निश्चित स्थिति में बहुत से अलग पते पर बहुत से यूडीपी संदेश भेजने की कोशिश करता है। यह एक विस्फोट है जो तब होता है जब सॉफ्टवेयर शुरू होता है और स्थिति अस्थायी होती है। मुझे वास्तव में यकीन नहीं है कि यह संदेश की सादा राशि या तथ्य यह है कि उनमें से प्रत्येक एक अलग आईपी पते पर जाते हैं।जावा IOException: लिनक्स
वैसे भी, अंतर्निहित प्रोटोकॉल या समस्याग्रस्त घटक को बदलना एक विकल्प नहीं है, इसलिए मैं एक कामकाज की तलाश में हूं। StackTrace इस तरह दिखता है:
java.io.IOException: No buffer space available
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:612)
यह समस्या (कम से कम) जावा संस्करण 1.6.0_13 और 1.6.0_10 और लिनक्स संस्करणों उबंटू 9.04 और RHEL 4.6 के साथ होता है।
क्या कोई जावा सिस्टम गुण या लिनक्स कॉन्फ़िगरेशन tweaks है जो मदद कर सकता है?
धन्यवाद। उन पैरामीटर के अलावा, मैंने net.ipv4.udp_mem और net.ipv4.udp_wmem_min को भी ट्वीक करने का प्रयास किया। सबसे पहले, मैंने मूल्यों को दोगुना कर दिया, फिर मैंने उन्हें दोबारा दोगुना कर दिया, और अंत में मैंने उन्हें डिफ़ॉल्ट रूप से 10 गुना बड़ा बदल दिया। हालांकि अब तक कुछ भी मदद नहीं मिली है। – auramo
@auramo, आप किस जेवीएम का उपयोग कर रहे हैं? आपके डिस्ट्रो से सूर्य निर्माण या ओपनजेडीके/जेवीएम सामान? मैं आपके डिस्ट्रो के लिए एक का उपयोग करने की सलाह दूंगा, यदि संभव हो तो खुले एक के रूप में यह कम 'सुरक्षित' होगा और कर्नेल/libc के साथ अधिक सटीक इंटरफेसिंग होगा। –
मैं 1.6.0_13 और 1.6.0_10 के सूर्य निर्माण का उपयोग कर रहा हूं। मैं ओपनजेडीके संस्करणों के साथ आसानी से प्रयास कर सकता हूं, लेकिन सूर्य के कार्यान्वयन से बदलना अंतिम उत्पाद के लिए ओपनजेडीके परियोजना के इस बिंदु पर एक बड़ी परेशानी होगी। – auramo