2012-03-28 15 views
24

मैं गिट करने के लिए नया हूं। मैं पुश करने के लिए एक बड़ा एक दूरस्थ सर्वर के लिए प्रतिबद्ध चाहते हैं, लेकिन समस्या है जब मैंगिट पुश घातक: थ्रेड बनाने में असमर्थ: संसाधन अस्थायी रूप से अनुपलब्ध

git push origin master 

का उपयोग यह त्रुटि

Counting objects: 5009, done. 
Delta compression using up to 16 threads. 
fatal: unable to create thread: Resource temporarily unavailable 
error: pack-objects died with strange error 

तो वहाँ है लौटने वैसे भी मैं अधिकतम धागा सेट कर सकते हैं डेल्टा संपीड़न के लिए उपयोग करें।

मदद के लिए धन्यवाद,

युआन चेन

+0

आदेशों आप याद है कि पैकिंग दूरस्थ प्रणाली 'Git config --global pack.windowMemory" 100 मीटर "' ' Git config --global pack.packSizeLimit" में प्रवेश करके समय लग सकता है की मात्रा को सीमित करने के लिए चला सकते हैं 100 मीटर "' 'गिट कॉन्फ़िगरेशन --global pack.threads" 1 "' – Adnan

उत्तर

2

"unable to create thread: Resource temporarily unavailable" दूरस्थ सर्वर (कोई और अधिक उपलब्ध स्मृति की तरह) के साथ किसी समस्या का मतलब है।

डेल्टा के बारे में, आप tweak करने के लिए निम्न है config:

pack.deltaCacheSize 

The maximum memory in bytes used for caching deltas in git-pack-objects(1) before writing them out to a pack.
This cache is used to speed up the writing object phase by not having to recompute the final delta result once the best match for all objects is found.
Repacking large repositories on machines which are tight with memory might be badly impacted by this though, especially if this cache pushes the system into swapping.
A value of 0 means no limit.
The smallest size of 1 byte may be used to virtually disable this cache. Defaults to 256 MiB.

pack.deltaCacheLimit 

The maximum size of a delta, that is cached in git-pack-objects(1).
This cache is used to speed up the writing object phase by not having to recompute the final delta result once the best match for all objects is found. Defaults to 1000.

तो सवाल "Git pull fails with bad pack header error" संदर्भ अन्य pack से संबंधित कॉन्फ़िगरेशन।

2

मैंने इस त्रुटि पर भी ठोकर खाई है। इसे आसान बनाने के लिए, यह त्रुटि तब होती है क्योंकि आप 100 एमबी फ़ाइल को 50 एमबी (या कम) के खाली स्थान के साथ एक एचडीडी में कॉपी करना चाहते हैं। सर्वर में इस, SSH को ठीक करने और निम्न कमांड चलाने के लिए:

git config --global pack.windowMemory "100m" 
git config --global pack.packSizeLimit "100m" 
+2

यह 'pack.packSizeLimit' होना चाहिए 'pack.izeLimit'। – yig

75

त्रुटि: "घातक: बनाने के लिए धागा असमर्थ: संसाधन अस्थायी रूप से अनुपलब्ध" दृढ़ता से पता चलता है कि आप स्मृति से बाहर सर्वर, पर दौड़े हैं जो हो सकता है कि यदि आपके पास बहुत सारी बड़ी फ़ाइलों के साथ एक भंडार है, जो बहुत मेमोरी लेने के लिए पुनः पैकिंग कर सकता है, या सीमित वर्चुअल मेमोरी - या तो सामान्य रूप से, या केवल उस खाते के लिए अल्मिमिट सेटिंग के कारण।

फिर भी, यहां आदेशों है आप याद है कि पैकिंग (उपयोगकर्ता कि Git के रूप में चलाता है के रूप में) दूरस्थ प्रणाली में प्रवेश करके समय लग सकता है की मात्रा को सीमित करने के लिए चला सकते हैं और इन आदेशों को टाइप:

git config --global pack.windowMemory "100m" 
git config --global pack.packSizeLimit "100m" 
git config --global pack.threads "1" 

आशा यह काम।

+15

साझा होस्टिंग समाधान के बहुत सारे विशेष रूप से धागे को सीमित करते हैं। आम तौर पर इस जवाब में अंतिम आदेश के साथ इसे <10 तक ले जाना समस्या हल करता है। – Qix

+1

मुझे अपने साझा होस्ट पर रिमोट के लिए 'गिट पुश' करने का प्रयास करने में यह समस्या थी। 'Pack.threads" 10 "को सेट करना मेरे लिए तय है। री-पैक चरण में पहुंचने पर मुझे 'गिट जीसी' चलाने की कोशिश करते समय भी एक ही समस्या थी। वही फिक्स चीयर्स। –

+1

यदि आपका सर्वर स्मार्ट http प्रोटोकॉल का उपयोग करता है, तो आप प्रक्रिया के लिए वैश्विक कॉन्फ़िगरेशन सेट करने में सक्षम नहीं होंगे। इसके बजाय, गिट रिपोजिटरी की निर्देशिका में 'cd'' और '--global' के बिना समान आदेश चलाएं। – yig

संबंधित मुद्दे