linux - mmap regions allocating from reserved stack space? -
हमारे उत्पाद में हम एक malloc
कार्यान्वयन का उपयोग करते हैं जो विशेष रूप से स्मृति आवंटन के लिए mmap पर निर्भर करता है हम आबंका
आईएनजी के उचित उपयोग भी करते हैं। हमें सिर्फ एक ऐसी समस्या का सामना करना पड़ा जहां पर एमएएमएपी उन क्षेत्रों को आवंटित करेगा जहां
हमारी प्रक्रिया की सीमा 'आवंटन हमारे वीएम पता स्थान है, भौतिक स्मृति नहीं है प्रक्रिया चलने के बाद हमने / proc / * / maps फ़ाइल को देखा है और देखा कि malloc किसी भी उपलब्ध पता स्थान का उपयोग करता है। यह अंततः स्टैक्स रैलीमिट-सेट रेंज के भीतर पते को आवंटित करने के लिए रिसॉर्ट करता है और अंततः एक बड़ा आलोक
इसमें फैला हुआ है।
हमने इसके आसपास alloca
स्टार्टअप पर हमारी संपूर्ण स्टैक सीमा, लेकिन यह प्लेटफार्मों में स्थिर साबित नहीं हुआ है (यह मेरे 2.4 डेविल्स बॉक्स पर alloca
d मेमोरी तक पहुंचने की कोशिश कर रहा है, जबकि यह 2.6 पर काम करता है उत्पादन मशीन)।
क्या वास्तव में पता स्थान को आरक्षित करने का कोई तरीका है? और क्या किया जा सकता है?
दिल की धड़कन के पुराने संस्करणों ने एक रिकर्सिव फ़ंक्शन को बुलाकर, Memset () 0xff के लिए एक समय में 1Kb एड हार्टबीट ने इसे मॉल () को सक्षम करने के लिए किया था, यह सभी स्मृति को संभावित रूप से आवश्यक हो सकता है।
Comments
Post a Comment