2013-11-23 15 views
9

में एक प्ले फ्रेमवर्क ऐप चला रहा है मेरे पास वास्तव में मूल खेल है! ऐप जो कुछ सामान्य जीईटी और POST अनुरोधों को आसानी से संभालता है और एक MySQL डेटाबेस से बात करता है, कुछ भी कल्पना नहीं करता है।अमेज़ॅन ईसी 2 माइक्रो इंस्टेंस

मैं play dist चला गया और ज़िप फ़ाइल को मेरे ईसी 2 उदाहरण में स्थानांतरित कर दिया। यह अनज़िप करने, bin फ़ोल्डर में जाकर और ./myapp चलाने के बाद, मैं एक संदेश मिलता है:

Java HotSpot(TM) 64-Bit Server VM warning: Info: os::commit_memory ... error='Cannot allocate memory' (errorno=12) 
There is insufficient memory for the Java Runtime Environment to continue. 

मैं प्ले संस्करण 2.2.1 चल रहा हूँ और इस उदाहरण, 512MB की RAM के बारे में है के 64-बिट संस्करण के साथ ओरेकल जेडीके। क्या यह एक नाटक चलाने के लिए पर्याप्त नहीं है! ऐप या क्या मुझे कुछ याद आ रही है?

धन्यवाद।

+0

मैं भी का उपयोग कर इसे चलाने की कोशिश की है openjdk और एक और समान त्रुटि संदेश मिला: "ऑब्जेक्ट ढेर के लिए पर्याप्त स्थान आरक्षित नहीं किया जा सका" – Henrique

+0

Play एक छोटे ढेर के साथ चलाया जा सकता है - क्या आपने कोई बदलाव किए बिना नए प्ले के माध्यम से नमूना ऐप बनाने की कोशिश की है? –

+0

आप बिन स्क्रिप्ट के विकल्पों को भी देख सकते हैं और स्मृति की एक छोटी राशि आवंटित कर सकते हैं। –

उत्तर

3

का उपयोग 2.2.1 मुझे ज़िप फ़ाइल उत्पन्न करने के लिए play dist चलाने के लिए चला था। तब मैंने इसे उदाहरण के लिए कॉपी किया। एक बार वहाँ, मैं ज़िप निकाला जाता है और निष्पादन योग्य फ़ाइल बदल दिया है: से

:

local mem=${1:-1024} 

रहे हैं:

local mem=${1:-512} 

कि यह मेरे लिए किया था। मुझे here से यह विचार मिला, लेकिन मैं वहां मौजूद तर्क को हटाना नहीं चाहता था, इसलिए मैंने डिफ़ॉल्ट मान को कम कर दिया।

इसके अलावा कृपया ध्यान दें कि एडब्ल्यूएस पर EC2 सूक्ष्म:

$ java -version 
java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.14) (amazon-65.1.11.14.57.amzn1-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 

तो तुम जब play dist भाग रहा एक ही जावा JDK उपयोग करना होगा।

संपादित करें:

मैं अद्यतन जावा OpenJDK 7करने के लिए और किसी भी त्रुटि के बिना नमूना खेलने अनुप्रयोगों को चलाने में सक्षम था।

+0

यह एक आकर्षण की तरह काम करता है, लेकिन इस प्रक्रिया को स्वचालित करने का कोई तरीका है इसलिए किसी को प्रत्येक अपडेट के साथ संपादन करने की आवश्यकता नहीं है? – somid3

+1

यह बेहतर काम करता है - $/path/to/bin/ -mem 512 -J-server – somid3

14

प्ले फ्रेमवर्क 2.3 अब निफ्टी छोटी सुविधा है।

$ /path/to/bin/<project-name> -mem 512 -J-server 

शॉल को नौकरी मिल गई।

पढ़ें http://www.playframework.com/documentation/2.3-SNAPSHOT/ProductionConfiguration


अतिरिक्त JVM तर्क आप शुरू स्क्रिप्ट के लिए किसी भी JVM तर्क निर्दिष्ट कर सकते हैं निर्दिष्ट।अन्यथा डिफ़ॉल्ट JVM सेटिंग्स उपयोग किया जाएगा:

$/path/to/bin/-J-Xms128M -J-Xmx512m -J-सर्वर एक सुविधा आप भी स्मृति मिनट, अधिकतम, permgen सेट कर सकते हैं और सुरक्षित रूप एक कोड में कोड कैश आकार; एक सूत्र लिए किया जाता है इन मूल्यों का निर्धारण आपूर्ति पैरामीटर (जो अधिकतम स्मृति का प्रतिनिधित्व करता है) दिया:

$/path/to/bin/-mem 512 -J-सर्वर

+1

धन्यवाद। play2.3 (एक्टिवेटर) – JasonG

+1

के साथ डिजिटल महासागर 512 सर्वर पर मेरे लिए काम किया नोट: यह सक्रियकर्ता के साथ भी काम करता है! ('एक्टिवेटर क्लीन स्टेज -म 512') –

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