मेरे पास 70 जीबी रैम वाली एक शक्तिशाली मशीन है। 20 जीबी के साथ कितने ओरेकल इंस्टेंसेस बनाए जा सकते हैं?


9

मेरे पास 70 जीबी रैम वाली शक्तिशाली मशीन है। मैंने sga_target के रूप में 20 GB के साथ एक Oracle उदाहरण बनाया। sga_target > 10Gजब मैं पहले डेटाबेस को नीचे रखता हूं तब भी मैं दूसरा Oracle उदाहरण नहीं बना पाता हूं। यदि मैं सेट sga_target >=10Gकरता हूं तो यह स्टार्टअप पर त्रुटि देता है:

ORA-27104: साझा की गई मेमोरी के लिए सिस्टम-डिफाइन्ड लिमिट्स गलत थी

हालांकि यह free -mदर्शाता है कि हालांकि पर्याप्त मेमरी उपलब्ध है:

             total       used       free     shared    buffers     cached
Mem:         72419      34490      37928          0        618      28159
-/+ buffers/cache:       5711      66707
Swap:         2047          0       2047

क्या मुझे स्वैप स्पेस बढ़ाने की आवश्यकता है? इस संबंध में किसी भी सूचक की बहुत सराहना की जाती है।

इसके अलावा 70 जीबी मेमोरी के लिए, कई उदाहरण बनाने के लिए, स्वैप स्पेस के लिए सबसे अच्छा मूल्य क्या होगा - क्या इसे शांत करने का कोई तरीका है? मेरा उद्देश्य प्रत्येक के साथ कम से कम दो उदाहरण हैं sga_target=20Gऔर एक समय में केवल एक ही उदाहरण रखेंगे। अगर मुझे यहाँ कोई अवधारणा याद आ रही है?

आउटपुट ipcs -imनीचे है

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

जवाबों:


13

आपके कर्नेल मापदंडों को संशोधित करने की आवश्यकता है।

/etc/sysctl.confनिम्नलिखित पंक्तियों को संपादित और सुनिश्चित करें :

kernel.shmall = 18350080
kernel.shmmax = 75161927680
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

फिर मशीन को रिबूट करें।


इस काम के लिए धन्यवाद। क्या आप कृपया मुझे बता सकते हैं कि आप इन मूल्यों को shmall, shmax और shmni आदि के लिए कैसे तय कर सकते हैं? क्या इनकी गणना करने का कोई तरीका है?
user419534

3
shmmax एक एकल साझा मेमोरी सेगमेंट के बाइट्स में अधिकतम आकार है, आपके पास 70 जीबी रैम है इसलिए मैंने 70 * 1024 * 1024 * 1024 का उपयोग किया। shmall सभी साझा मेमोरी सेगमेंट की अधिकतम राशि है जो एक बार में मौजूद हो सकती है और पृष्ठों में मापा जाता है। लिनक्स पर पृष्ठ का आकार आमतौर पर 4k होता है, इसलिए मैंने श्मेक्स संख्या को 4096 से विभाजित किया।
फिलो

6

0

Shmmax मान सेट करना इस बात पर निर्भर करता है कि OS 32-बिट है या 64-बिट। एक धातु नोट है जो इस बारे में विस्तार से बताता है।

लिनक्स x86 और x86-64 के लिए अधिकतम SHMMAX मान [आईडी 567506.1.1]

कृपया एक नज़र डालें।

ओरेकल के लिए साझा मेमोरी / सेमाफोरेस के बारे में भी एक नोट है जो एक दिलचस्प पढ़ना चाहिए।

टेक: यूनिक्स सेमाफोरस और साझा मेमोरी समझाया [आईडी 15566.1]

सादर, नागेंद्र चिल्ले

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.