की तुलना में एक स्मृति आवंटन प्रश्न है जिसमें मैं आपकी सहायता चाहता हूं। हमने अपनी कुछ सेवाओं का शीर्ष पर विश्लेषण किया है और हम ध्यान देते हैं कि उनके पास लगभग 1.8 जीबी का आरईएस मूल्य है, जहां तक मुझे लगता है कि चीजें समझती हैं कि वे उस समय 1.8 जीबी मेमोरी रख रहे हैं। अगर हम उन्हें शुरू करेंगे तो वे ठीक होंगे (वे अनिवार्य रूप से कैश से पढ़ते हैं, प्रसंस्करण करते हैं, और दूसरे कैश पर धक्का देते हैं) लेकिन सीपीयू-गहन प्रसंस्करण पूरा होने के बाद भी हम इसे देखते हैं, हम सोच रहे हैं कि क्या यह इसका मतलब है कि जीसीएड की तरह कुछ नहीं होने की उम्मीद है।अप्रत्याशित रूप से बड़े पैमाने पर आकार का उपयोग%
हम निम्नलिखित मानकों के साथ कार्यक्रम चलाने: -Xms256m -Xmx3096m जो के रूप में मैं समझता हूँ कि 256 के एक प्रारंभिक ढेर आकार, और 3096.
की एक अधिकतम ढेर आकार मैं अब क्या उम्मीद थी इसका मतलब है यह देखने के लिए है कि शुरुआत में जरूरी ढेर बढ़ता है, और फिर आवश्यकतानुसार घट जाती है क्योंकि स्मृति को हटा दिया जाता है (हालांकि यह मेरी पहली गलती हो सकती है)। , हम प्रसंस्करण किए गए कार्यों को इस्तेमाल किया ढेर करने के लिए नाटकीय रूप से चला जाता है: इस्तेमाल किया ढेर 1GB, ढेर आकार 2 जीबी
- 3 में मिनट: क्या हम वास्तव में jvisualvm के साथ देख पीछा कर रहा है पर्याप्त कुछ भी नहीं, ढेर तथापि के बारे में 1.5GB
- 7 मिनट के लिए एक ही बूँदें आकार के पास ->: वास्तविक समय के छोटे अंश प्रसंस्करण समय-समय पर, ढेर इस्तेमाल किया ही कभी 100-200MB या तो बीच, ढेर आकार हालांकि लगातार शेष लगभग 1.7 जीबी पर।
मेरा प्रश्न होगा, मेरा ढेर क्यों कम हो गया है जैसा कि मैंने शायद इसकी उम्मीद की थी? क्या यह मूल्यवान स्मृति के लिनक्स बॉक्स पर अन्य प्रक्रियाओं को लुप्त नहीं कर रहा है, और यदि ऐसा है तो मैं इसे कैसे ठीक कर सकता हूं? हम कभी-कभी स्मृति त्रुटियों से बाहर देखते हैं, और इन प्रक्रियाओं के साथ सबसे अधिक 'अप्रत्याशित' स्मृति आकार आवंटित किया जाता है, मैंने सोचा कि यह उनके साथ शुरू करना सबसे अच्छा है।
चीयर्स, डेव।
(~ कृपया JVM स्मृति ट्यूनिंग पर समझ की कमी संभव बहाना!)
शायद बॉक्स में कुछ और स्वैप असाइन करें। चूंकि इनमें से कई पृष्ठ अप्रयुक्त हैं, उन्हें कचरे के बिना कर्नेल द्वारा बाहर निकाल दिया जा सकता है। निवासी स्मृति के लिए अन्य प्रक्रियाएं ठीक होनी चाहिए। – wds