मैं अपने मैक में कुछ अजीब थ्रेडिंग व्यवहार देख रहा हूं (योसेमाइट 10.10.4)। थ्रेड्स की संख्या बढ़ जाती है और फिर वापस नीचे जाती है। कभी-कभी यह बहुत अधिक रहता है, इस प्रकार संदेशों maxproc
को पार कर जाता है और fork: Resource temporarily unavailable
2048 तक बढ़ने के बाद भी।
यह देखते हुए कि धागे की गिनती होती है maxproc
, मैं यह देखना चाहूंगा कि यह थ्रेड कहां से आ रहा है।
top
, htop
और glances
केवल स्नैपशॉट प्रदान करते हैं, लेकिन मुझे समस्या की सटीक पहचान करने के लिए स्वामित्व और पितृत्व सहित थ्रेड निर्माण और विनाश के टाइमस्टैम्प्ड लॉग की आवश्यकता होती है।
कोई विचार?
EDIT 1: संभावित प्रश्न के रूप में Google Chrome पर मेरे संदर्भ को हटा दिया गया, ताकि प्रश्न को थ्रेड इतिहास या खाता बही पर केंद्रित रखा जा सके।
ulimit
और sysctl
सीमाएं हैं। यहाँ जहाँ मेरा सिस्टम एक सीमा तक मार कर रहा है, संभवतः एक सहज अनुप्रयोग के कारण, और इसीलिए मैं यह निगरानी करना चाहूँगा कि समस्या को कम करने के लिए वह गतिविधि कहाँ से आ रही है। blog.ghostinthemachines.com/2010/01/19/… stackoverflow.com/questions/13009632/…
maxproc
है unlimited
, लेकिन मैक ओएस एक्स में यह संभव नहीं है और यह 2048 तक छाया हुआ है, इस प्रकार थ्रेड्स की संख्या स्वाभाविक रूप से सीमित है जो उन्हें एक सीमित संसाधन बनाती है । (2) HTTP ब्राउज़र से चित्र, CSS आदि लाने के लिए अनुरोध करता है, प्रत्येक नया धागा उत्पन्न नहीं करता है ! धागे का उपयोग थ्रेडपूल के माध्यम से किया जाता है, जैसे आप बाद में बताते हैं। आप इसे भी सही करना चाह सकते हैं। और शायद एक