क्या प्रक्रिया किसी भी प्रकार की पाथ्रेड की संख्या पर सीमा को बदलने के किसी भी माध्यम से संभव है? वर्तमान में मेरे लिनक्स सिस्टम पर मैं लगभग 380 धागे बना सकता हूं लेकिन मैं इसे तब तक बढ़ाना चाहता हूं जब तक कि स्मृति उपलब्ध न हो। इस परकिसी अनुप्रयोग द्वारा pthreads की अधिकतम संख्या की सीमा को बदलना
उत्तर
देखो:
Maximum number of threads per process in Linux?
और इस पर एक नज़र के रूप में यह अपने प्रश्न से संबंधित हो सकता है:
' बिल्ली?/proc/sys/kernel/threads-max' दिखाता है '16384'। लेकिन मैं 380 से अधिक pthreads नहीं बना सकता। मैंने धागे के शरीर के रूप में एक खाली कार्य डालने का भी प्रयास किया। – Sukanto
आपको क्या त्रुटि मिलती है? –
380 धागे के बाद मुझे 'eAGAIN'' pthread_create() 'के रिटर्न मान के रूप में मिलता है, जो 'pthread_create()' मैन पेज के अनुसार है" सिस्टम में एक और थ्रेड बनाने के लिए आवश्यक संसाधनों की कमी है, या सिस्टम पर लगाए गए सीमा किसी प्रक्रिया में थ्रेड की कुल संख्या {PTHREAD_THREADS_MAX} पार हो जाएगी। " – Sukanto
आपकी समस्या यह है कि आप pthread_detach पर बुलाया नहीं किया है प्रश्न में धागे। यह बताता है कि थ्रेड समाप्त होने पर प्रत्येक थ्रेड से जुड़े संसाधन जारी किए जाएंगे। थ्रेड संसाधनों को जारी करने के लिए आपको सभी धागे पर pthread_join या pthread_release को कॉल करना होगा। इसका मतलब है कि आपको अपने pthread_join रद्दीकरण हैंडलर या रिसाव में pthread_detach को भी कॉल करना होगा।
उपयोगकर्ता के ढेर आकार को कम करें 'ulimit -s 1024
';
default: 8MB
reduced: 1MB
धागे की संख्या बढ़ाने के लिए। pthread_attr_setstacksize(1024)
cat /proc/sys/kernel/threads-max
लिनक्स में काम कर सकते हैं लेकिन अन्य यूनिक्स प्रणालियों:
ढेर आकार सेट। मैंने सोचा था कि सही तरीके से
Maximum number of threads per process - sysconf(_SC_THREAD_THREADS_MAX) failing
जो (HPUX) की तरह कुछ यूनिक्स सिस्टम पर काम करता है लेकिन सोलारिस या लिनक्स पर नहीं ... है
- 1. वेब अनुप्रयोग के लिए उपयोगकर्ता की अधिकतम संख्या
- 2. डेटाबेस में संग्रहों की संख्या की सीमा
- 3. बैश तर्कों की अधिकतम संख्या! = अधिकतम संख्या सीपी तर्क?
- 4. एसक्यूएल डिलीट - पंक्तियों की अधिकतम संख्या
- 5. ओपनएसएसएल कनेक्शन की अधिकतम संख्या
- 6. अक्षरों की अधिकतम संख्या स्ट्रिंगबिल्डर
- 7. एसक्यूएलएट लेनदेन सीमा की संख्या?
- 8. PHP फ़ंक्शंस - तर्कों की अधिकतम संख्या
- 9. स्विंग वर्कर थ्रेड की अधिकतम संख्या
- 10. एरलांग की एक साथ खुली बंदरगाहों की अधिकतम संख्या?
- 11. एक स्क्लाइट तालिका को अधिकतम पंक्तियों की संख्या
- 12. किसी विशेष लंबाई की अधिकतम संख्या कैसे प्राप्त करें
- 13. किसी .net अनुप्रयोग की स्मृति उपयोग सीमित
- 14. क्या गिट स्टैश की अधिकतम संख्या है?
- 15. वैश्विक स्तर पर पंजीकृत प्रक्रियाओं की अधिकतम संख्या
- 16. विंडोज़ में ड्राइव की अधिकतम संख्या?
- 17. आईफोन और नोटिफिकेशन: अधिसूचनाओं की अधिकतम संख्या?
- 18. किसी चयनित क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या
- 19. सहायता: अधिकतम ग्राहकों की संख्या - सेगमेंटेशन गलती
- 20. फेसबुक एफक्यूएल प्रश्नों और मल्टीक्विरीज़ (मल्टीक्विरीज़ और अधिकतम सीमाओं की अधिकतम संख्या) की सीमाएं क्या हैं
- 21. जावा सरणी में आयामों की अधिकतम संख्या
- 22. जेनकींस - समवर्ती नौकरियों की अधिकतम संख्या
- 23. प्रति विधि पैरामीटर की सीमा संख्या?
- 24. .net टेक्स्टबॉक्स में लाइनों की सीमा संख्या
- 25. मानकों/backreferences सीमा की mod_rewrite संख्या
- 26. सभी प्रमुख ब्राउज़रों द्वारा अनुमत HTTP पुनर्निर्देशन की अधिकतम संख्या क्या है?
- 27. वेब पेज में अनुमत divs की अधिकतम संख्या
- 28. जीसीडी द्वारा निर्मित धागे की संख्या?
- 29. कैसंद्रा में कीपों की अधिकतम संख्या क्या है?
- 30. एमएस एक्सेस डेटाबेस इंजन तालिका में पंक्तियों की अधिकतम संख्या?
दिलचस्प ... आप इस तरह के कुछ आशयों को माना जाता है प्रणाली की रूपरेखा? विफलता का एकल बिंदु (एसपीओएफ) दिमाग में आता है। – jldupont
मैं कोई विशेषज्ञ नहीं हूं, लेकिन मैं शर्त लगाता हूं कि 380 से अधिक धागे आपके प्रोसेसर को संदर्भ स्विच के साथ अभिभूत करेंगे। एक थ्रेड के लिए संदर्भ स्विचिंग एक अलग प्रक्रिया के लिए कम है, लेकिन आपको अभी भी प्रोग्राम काउंटर को सहेजना होगा और फाइल को पंजीकृत करना होगा और शायद कुछ अन्य चीजें जिन्हें मैं भूल रहा हूं। आपको लगता है कि आपको कितने धागे चाहिए? मैं 100 थ्रेड बनाम 10 धागे के लिए थ्रेड ओवरहेड निर्धारित करने के लिए अपने आवेदन को प्रोफाइलिंग करने का सुझाव दूंगा और फिर अपने लक्ष्य संख्याओं को निकालने का प्रयास करूंगा। आप पाते हैं कि यह प्रयास के लायक नहीं है। या शायद मैं सिर्फ गलत हूं ... –
मैं इसे व्यावहारिक रूप से कहीं भी उपयोग नहीं करूँगा ... लेकिन मुझे कुछ प्रयोगों के लिए इसकी आवश्यकता है? – Sukanto