किसी एकल प्रक्रिया के संसाधनों को सीमित करने के बारे में बहुत सारे प्रश्न और उत्तर हैं, जैसे RLIMIT_AS का उपयोग एक प्रक्रिया द्वारा आवंटित अधिकतम मेमोरी को बाधित करने के लिए किया जा सकता है जिसे पसंद में VIRT के रूप में देखा जा सकता है top
। विषय पर अधिक यहाँ उदाहरण है कि क्या यूनिक्स में उपयोग की जाने वाली मेमोरी की मात्रा को सीमित करने का एक तरीका है?
setrlimit(2)
प्रलेखन कहता है:
कांटा (2) के माध्यम से बनाई गई एक बाल प्रक्रिया अपने माता-पिता की संसाधन सीमाओं को प्राप्त करती है। संसाधन सीमाओं को निष्पादित (2) के पार संरक्षित किया जाता है।
इसे निम्नलिखित तरीके से समझा जाना चाहिए:
यदि किसी प्रक्रिया में 2GB का RLIMIT_AS है, तो यह 2GB से अधिक मेमोरी आवंटित नहीं कर सकता है। जब यह एक बच्चे को जन्म देता है, तो 2GB का पता स्थान सीमा बच्चे को दिया जाएगा, लेकिन गिनती 0. से शुरू होती है। 2 प्रक्रियाएं एक साथ 4GB तक मेमोरी ले सकती हैं।
लेकिन प्रक्रियाओं के एक पूरे पेड़ द्वारा आवंटित स्मृति के योग को बाधित करने के लिए उपयोगी तरीका क्या होगा?