2009-06-09 13 views
7

मैं लिनक्स सिस्टम पर चल रहा हूं, मेरी पर्ल स्क्रिप्ट के लिए मेमोरी उपयोग को सीमित करना चाहता हूं। मैं BSD::Resource के setrlimit का उपयोग करने की कोशिश कर रहा हूं, लेकिन समस्याएं आ रही हैं। मैं किसी भी संकेतक की सराहना करता हूं। धन्यवाद।लिनक्स पर प्रक्रिया मेमोरी उपयोग को सीमित करने के लिए कैसे करें (उदाहरण के लिए बीएसडी :: संसाधन का उपयोग करना)

+0

क्या आप समस्याओं का वर्णन कर सकते हैं? क्या आप एक सीमा को रोकने या रोकने का प्रयास कर रहे हैं? – ysth

+0

सुनिश्चित करें कि आप हार्ड सीमा जोड़ते हैं, मुलायम नहीं। –

उत्तर

7

जब आप कोड विकसित कर रहे हैं, तो अपने पर्ल प्रोग्राम को चलाने और सभी मेमोरी का उपभोग करना आसान है। जब तक प्रोग्राम स्मृति समाप्त नहीं होता है और मर जाता है, तब तक मशीन रुक जाएगी। आप इस समस्या को रोका जा सकता है: इस कोड

उपयोग:

use BSD::Resource; 
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die; 
1; 

मैं limit.pm में इस कोड डाल (अतः "1;")। मैं तब कह सकता हूं कि

use limit; 

किसी भी प्रोग्राम के शीर्ष पर जो मैं सीमित करना चाहता हूं।

+0

पायथन के साथ भी काम करता है, धन्यवाद :) – Joril

+0

@ जोरील पाइथन में कैसे काम करता है? – alvas

+1

@alvas: मैं resource.setrlimit (resource.RLIMIT_RSS, (megs * 1048576L, -1L) का उपयोग कर रहा हूं) – Joril

3

Scott Corely पर्ल स्क्रिप्ट चलाने से पहले ulimit सेट करने का सुझाव देता है।

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

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