2014-07-19 7 views
5

मैं Heroku पर बहुत ही सरल Grails 2.3.7 आवेदन (कई बाकी नियंत्रकों और स्प्रिंग सुरक्षा REST) ​​को तैनात करने की कोशिश कर रहा हूँ और लगातार हो रहीHeroku स्मृति कोटा सरल Grails अनुप्रयोग के साथ पार कर

Error R14 on Heroku (Memory Quota Exceeded) 
Process running mem=906M(177.1%) 

मेरे BuildConfig.groovy शामिल हैं:

grails.project.fork = [ 
    test: false, 
    run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], 
    war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], 
    console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256] 
] 

क्यों Grails इतना स्मृति का उपभोग करता है और कैसे मैं धुन मेरी BuildConfig.groovy 512MB Heroku सीमा में फिट कर सकते हैं?

यूपीडी क्या समस्या मेरी travis.yml फ़ाइल में हो सकती है? यह इस तरह दिखता है:

language: groovy 
jdk: 
- oraclejdk7 
before_script: 
- chmod +x grailsw 
script: ./grailsw clean 
    && ./grailsw refresh-dependencies 
    && ./grailsw test-app 
before_deploy: 
- chmod +x grailsw 
deploy: 
    provider: heroku 
    app: igetit 
    on: develop 
+0

मुझे यकीन है कि नहीं कर रहा हूँ, लेकिन यह हो सकता है कि maxPerm (पेर्म जनरल) और maxMemory (हीप आकार) को जोड़ रहे हैं साथ में। इसमें अधिकतम दृष्टिकोण अधिकतम मेमोरी को 512 तक कम करने और अधिकतम 2525 पर रख सकता है (शायद आप इसे 1 9 2 या कुछ प्राप्त कर सकते हैं, लेकिन आपको यहां कुछ प्रयोग करना होगा) –

+0

मुझे पता है कि यह अजीब है, लेकिन बदलने के बाद अधिकतम स्मृति 512 तक और स्मृति उपयोग को पुन: नियोजित करना और भी अधिक हो गया: 934 एम – turboDi

+0

आप अपने ऐप को कितनी सही तैनात कर रहे हैं? क्या आप युद्ध तैनात कर रहे हैं? क्या आप रन-वॉर चला रहे हैं? और कुछ? –

उत्तर

1

मेरे एक जवाब के रूप टिप्पणी:

आप grails युद्ध का उपयोग करते हैं, तो इन स्मृति सेटिंग्स का उपयोग नहीं कर रहे हैं। इन्हें केवल फोर्कड निष्पादन के लिए उपयोग किया जाता है, उदाहरण के लिए जब परीक्षण-एप या रन-वार चलते हैं। आपकी मेमोरी सेटिंग्स शायद आपके JAVA_OPTS द्वारा नियंत्रित की जाती हैं। मैं Heroku से परिचित नहीं हूँ, लेकिन तुम यहाँ एक बार देख ले सकता है:

Heroku JVM tuning

1

आप jdk उल्लेख नहीं है तो heroku डिफ़ॉल्ट रूप से open-jdk ले। बस jdk संस्करण का जिक्र करें।

java.runtime.version=1.7 

इस फाइल लें और पुनर्वितरित:

निम्न पंक्ति application.properties के समानांतर में एक फ़ाइल system.properties बनाएं और जोड़ें।

रेफरी # Grails R14 Error (Memory quota exceeded) on Heroku

+0

धन्यवाद, लेकिन मैंने पहले ही इस लेख को पढ़ लिया है। यह मेरे लिए काम नहीं करता – turboDi

+0

मुझे कुछ महीने पहले एक ही त्रुटि है और उपर्युक्त प्रक्रिया कुछ समस्या है। आपके पास कुछ अन्य समस्या हो सकती है। शुभकामनाएं। – user1690588

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