Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एरलांग और इसकी हीप मेमोरी की खपत

मेरे पास स्रोत को देखने का समय नहीं है, लेकिन यहां कुछ टिप्पणियां दी गई हैं:

<ब्लॉककोट>

प्रश्न 1. इतने शक्तिशाली सर्वर के साथ, ऑपरेटिंग सिस्टम एप्लिकेशन को ऐसी मेमोरी प्रदान करने में विफल क्यों होगा (यह एकमात्र एप्लिकेशन चल रहा था)?

क्योंकि Erlang VM ने उपलब्ध फ्री मेमोरी से ज्यादा खपत करने की कोशिश की।

<ब्लॉककोट>

प्रश्न 2। एरलांग एमुलेटर आई स्टार्ट को निर्देश दिया जाता है कि वह जितनी भी प्रक्रियाओं की आवश्यकता हो, उतनी प्रक्रियाओं को शुरू करने में सक्षम हो। मान +P 13421779। IsErlang VM इस मेमोरी तक पहुँचने में विफल रहा है या इसे इसकी प्रक्रियाओं में आवंटित करने में विफल रहा है?

नहीं। यदि आप प्रक्रियाओं से बाहर हो गए होते, तो Erlang VM ने ऐसा कहा होता (और VM अभी भी चालू और चल रहा होगा):

=ERROR REPORT==== 18-Aug-2011::10:04:04 ===
Error in process <0.31775.138> with exit value: {system_limit,[{erlang,spawn_link,    [erlang,apply,[#Fun<shell.3.130303173>,[]]]},{erlang,spawn_link,1},{shell,get_command,5},    {shell,server_loop,7}]}
<ब्लॉककोट>

प्रश्न 3. सोलारिस के लिए, यह एक प्रक्रिया देखता है:ईपीएमडी, शायद हजारों सूक्ष्म धागे युक्त और शुरू करना। सोलारिस को मेरे एप्लिकेशन को कभी भी रोकने में सक्षम होने के लिए कौन सी कॉन्फ़िगरेशन नकल कर सकती है, हालांकि "स्मृति भूख" कितनी भी हो सकती है? स्वैप स्पेस उपलब्ध है 16 जीबी, रैम 20 जीबी, ईमानदारी से, कुछ तो गड़बड़ है।

epmd एरलांग पोर्ट मैपिंग डीमन है। यह डिस्ट्रीब्यूट एरलांग के प्रबंधन के लिए जिम्मेदार है और इसका आपके व्यक्तिगत एरलांग एप्लिकेशन से कोई लेना-देना नहीं है। आपको जिन प्रक्रियाओं की तलाश करनी चाहिए उनका नाम beam.smp . होगा सबसे अधिक संभावना। ये Erlang VM आदि की OS मेमोरी खपत को दिखाएंगे।

<ब्लॉककोट>

प्रश्न 4. इन ढेर मेमोरी क्रैश डंप से बचने के लिए मैं एरलांग एमुलेटर में कौन सी कॉन्फ़िगरेशन कर सकता हूं, खासकर जब सर्वर पर सभी मेमोरी की आवश्यकता हो सकती है? अगर एरलांग अभी भी एक साधारण फाइल सिस्टम इंडेक्सर (अच्छी तरह से इसके भारी समवर्ती) को ऐसी मेमोरी आवंटित करने में विफल रहता है तो मैं इस सर्वर पर अधिक मेमोरी खपत करने वाले ऐप्स कैसे चलाऊंगा?

Erlang VM आपकी मशीन में उपलब्ध सभी मेमोरी का उपयोग करने में सक्षम होना चाहिए। हालाँकि, यह इस बात पर निर्भर करता है कि आपका आवेदन कैसे लिखा गया है। मेमोरी लीक होने के कई कारण हो सकते हैं:

  • परमाणु तालिका भरना (आप बहुत अधिक अद्वितीय परमाणु बनाते हैं)
  • ETS या मैनेशिया टेबल कचरा एकत्रित नहीं हैं (आप पुराने अप्रयुक्त तत्वों को नहीं हटाते हैं)
  • प्रक्रियाओं के लिए पर्याप्त स्मृति नहीं है (आप बहुत अधिक प्रक्रियाएं उत्पन्न करते हैं)
  • बहुत सारे बायनेरिज़ बनाए गए हैं (आप पुरानी बायनेरिज़ के लिए अप्रयुक्त संदर्भ रख सकते हैं)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle अशक्त निर्धारित करें ==अशक्त

  2. Oracle में CLOB कॉलम को कैसे क्वेरी करें?

  3. Oracle में LPAD () फ़ंक्शन

  4. पिछले महीने की सभी तिथियों को सूचीबद्ध करने के लिए ओरेकल एसक्यूएल क्वेरी

  5. मैं विभिन्न सर्वरों पर दो अलग-अलग डेटाबेस के बीच Oracle स्कीमा की प्रतिलिपि या आयात कैसे करूं?