यदि आपके पास स्क्रिप्ट हैं कि को बड़ी मात्रा में स्मृति की आवश्यकता होती है तो यह सीमा पूरी तरह से सुरक्षित करने के लिए पूरी तरह से सुरक्षित और आवश्यक है। यदि स्मृति की उपलब्ध मात्रा और अन्य चल रहे अनुप्रयोगों के संबंध में सिस्टम के लिए सीमा उच्च पर सेट की गई है तो समस्याएं हो सकती हैं।
यह भी ध्यान रखें कि एक असीमित स्क्रिप्ट जो अनंत लूप प्रसंस्करण में समाप्त हो सकती है, कुछ डेटा अक्सर 64 एमबी या कुछ ऐसा होने पर बहुत तेजी से बंद हो जाता है। इस परिदृश्य में 4 जीबी पर मेमोरी सीमा होने से आपको एक अनंत लूप में पूर्ण झुकाव पर चलने वाली प्रणाली के साथ लंबे समय तक चलने वाली प्रणाली मिल जाएगी और आपकी पूरी प्रणाली अप्रतिबंधित हो सकती है।
लेकिन मेरे पास 4-8 जीबी मेमोरी वाले सिस्टम पर किसी भी मुद्दे के बिना लगभग 2-4 जीबी की स्मृति सीमा के साथ बड़े डेटा क्रंचिंग अनुप्रयोग हैं। ध्यान दें, जैसा कि अन्य उपयोगकर्ताओं द्वारा बताया गया है, ये अनुप्रयोग एक उदाहरण थे। यदि आपके पास ऐसे एप्लिकेशन हैं जो आपकी स्क्रिप्ट के कई उदाहरण चलाते हैं (जैसे अधिकांश वेब-एप्लिकेशन करते हैं) तो आप प्रत्येक इंस्टेंस में बहुत मेमोरी का उपयोग करके बड़ी समस्याओं में भाग लेंगे। आप स्मृति से बाहर हो जाएंगे और आगे के ग्राहक आपके आवेदन का उपयोग करने में सक्षम नहीं होंगे जब तक कि स्मृति मुक्त नहीं हो जाती।
लेकिन मुद्दों को छिपाने के लिए स्मृति सीमा को न केवल रैंप करें। निरीक्षण करें कि आपके एप्लिकेशन को इतनी मेमोरी क्यों चाहिए और देखें कि क्या आप इसे पहले सुधार सकते हैं।
एक शब्द में, नहीं। आपकी स्मृति सीमा को यथासंभव कम से कम सेट किया जाना चाहिए जो आपको चाहिए। स्मृति सीमा प्रत्येक व्यक्ति को समवर्ती रूप से निष्पादित स्क्रिप्ट पर लागू होती है, न कि वैश्विक स्तर पर। इसे कम करने से यह सुनिश्चित करने में मदद मिलेगी कि यदि आप कुछ गलती करते हैं जो उदा। एक अनंत लूप, नियंत्रण से बाहर बढ़ने और पूरे सर्वर को रोकने के बजाए स्क्रिप्ट को जल्दी ही मार दिया जाएगा। – DaveRandom
आपको 100 समवर्ती अनुरोधों की सेवा करने की कितनी मेमोरी की आवश्यकता होगी? 200GB? – JvdBerg
@JvdBerg स्मृति सीमा परिभाषित नहीं करती है कि कितनी मेमोरी _actually_ उपयोग की जाती है। यह केवल एक ही प्रक्रिया है जिसे उपयोग करने की अनुमति है। – KingCrunch