2009-09-17 14 views
43

मेरे पास एक स्कैला डेटा प्रोसेसिंग टूल है जो java.lang.OutOfMemoryError अपवाद के साथ विफल रहा है। उपकरण को एक बड़ी डेटा फ़ाइल (जिसे मैं काम कर रहा हूं, 700 एमबी से अधिक है) पर एक जोड़े को पास करने की आवश्यकता है, इसलिए अगर यह पूरी चीज स्मृति में संग्रहीत की जा सकती है तो यह सुविधाजनक होगा।स्कैला के लिए जेवीएम ढेर आकार बढ़ाएं?

मैं "स्केल" धावक का उपयोग कर कमांड लाइन से या बैश स्क्रिप्ट से टूल चलाता हूं। मैं इसके लिए जेवीएम ढेर आकार कैसे बढ़ा सकता हूं? मैंने -Xmx1024m पास करने का प्रयास किया है, लेकिन यह इस तर्क को पहचाना नहीं है। मैं स्कैला 2.8.0 (आर 18678) का रात का निर्माण कर रहा हूं।

उत्तर

24

JAVA_OPTS वातावरण चर विकल्प जावा आदेश के लिए पारित निर्दिष्ट करने के लिए प्रयोग किया जाता है: तो आप इस तरह ढेर आकार बढ़ा सकते हैं। विवरण के लिए Scala manpage देखें।

0

एक हैक के रूप में आप फ़ाइल को java कमांड के पैरामीटर को संपादित करने के लिए संपादित कर सकते हैं। सुंदर नहीं।

+1

वह ... काम कर सकता है। –

+0

हां लेकिन मैं किसी और के उत्तर देने का इंतजार कर रहा हूं। मैं भी जानना चाहता हूं ... – Joe

2

JAVA_OPTS संपादित करें।

21

जो के सुझाव के आधार पर, मैंने स्कैला कार्यक्रम देखा, जो एक बैश स्क्रिप्ट है जो विभिन्न स्कैला विशिष्ट तर्कों के साथ जावा को बुलाती है। यह JAVA_OPTS पर्यावरण चर के माध्यम से जावा को अतिरिक्त कमांड लाइन तर्कों को पारित करने की अनुमति देता है।

JAVA_OPTS="-Xmx2g" scala classname arguments... 
100

आप जेएम के माध्यम से -जे के विकल्पों को पास कर सकते हैं। उदा।,

scala -J-Xmx2g ... 
+0

बहुत बहुत धन्यवाद! +1 – gd1

+0

मैं इसका भी उपयोग कर रहा हूं, धन्यवाद! – Benoit

+0

त्वरित और आसान समाधान, धन्यवाद! मुझे आश्चर्य है कि मैन पेज यह क्यों नहीं दिखाता है? – markc

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