SQL सर्वर सभी CPU कोर / थ्रेड का उपयोग नहीं कर रहा है


15

हमारे एसक्यूएल सर्वर के हार्डवेयर को अपग्रेड करने के बाद, हमने विंडोज टास्क मैनेजर में देखा कि एसक्यूएल उदाहरण केवल इसके लिए उपलब्ध थ्रेड्स का आधा उपयोग कर रहा है:

कार्य प्रबंधक

सर्वर में निम्नलिखित हार्डवेयर और सॉफ्टवेयर हैं:

  • Windows 2008 R2 एंटरप्राइज़ 64 बिट SP1
  • Intel Xeon E7-4870 - 4 प्रोसेसर (40 कोर, 80 धागे)
  • Microsoft SQL Server 2012 एंटरप्राइज़ संस्करण (64-बिट)

रनिंग select cpu_count from sys.dm_os_sys_infoरिटर्न 40।

ओएस सभी 80 धागे देखता है।

केवल आधे सर्वर की प्रोसेसिंग पावर का उपयोग क्यों किया जा रहा है?

हमारे पास दो सर्वरों पर समान हार्डवेयर और सॉफ्टवेयर हैं और वे दोनों समान व्यवहार प्रदर्शित करते हैं।

जवाबों:


23

SQL सर्वर त्रुटि लॉग में, यह आपको बताना चाहिए कि क्यों। मुझे यह एक ग्राहक प्रणाली पर मिला (वास्तव में Google जूस के लिए संदेश चिपकाना):

एसक्यूएल सर्वर ने 8 सॉकेट प्रति सॉकेट के साथ 4 सॉकेट और 16 लॉजिक प्रोसेसर प्रति सॉकेट, 64 कुल लॉजिकल प्रोसेसर का पता लगाया; SQL सर्वर लाइसेंस के आधार पर 40 तार्किक प्रोसेसर का उपयोग करना। यह एक सूचनाप्रद संदेश है; कोई उपयोगकर्ता कार्रवाई की आवश्यकता नहीं है।

मुझे यहाँ से संभावित स्पष्टीकरण मिला है :

मौजूदा SQL EE सर्वर लाइसेंस पर सॉफ़्टवेयर एश्योरेंस वाले ग्राहकों के लिए (या टर्म के दौरान उनके मौजूदा एंटरप्राइज़ समझौतों के तहत उन तक पहुंच) एंटरप्राइज़ संस्करण का एक संस्करण उन्हें SQL Server 2012 में अपग्रेड करने में सक्षम करने के लिए बनाया गया था। इस संस्करण में एक उदाहरण को सीमित करने वाले तकनीकी प्रतिबंध हैं केवल 20 प्रोसेसर कोर (हाइपरथ्रेडिंग के साथ 40 सीपीयू थ्रेड्स) का उपयोग करना।

सारांश: त्रुटि लॉग में, संस्करण या तो रिपोर्ट किया जाएगा Enterprise Edition याEnterprise Edition: Core-based Licensing । यदि यह पूर्व कहता है, जैसा कि उपरोक्त ग्राहक प्रणाली के मामले में, आपको सभी उपलब्ध कोर का उपयोग करने के लिए एक कोर-आधारित लाइसेंस प्राप्त करना होगा।

यदि ऐसा नहीं है और आप पहले से ही सभी कोर के लिए लाइसेंस प्राप्त कर चुके हैं, तो अपनी आत्मीयता मुखौटा सेटिंग्स की जांच करें, खासकर यदि वे सेट किए गए थे, और अंतर्निहित हार्डवेयर अपग्रेड किए गए थे।


हमारी भी ऐसी ही समस्या थी। हम 1 सॉकेट और 32 कोर के साथ एक वीएम का निर्माण करते हैं। Sql केवल 8 CPU को पहचानता है। हम इसे 8 सॉकेट पर स्विच करते हैं और 4 कोर समस्या दूर हो गई। हम जहां विंडोज़ 2008r2 पर एंटरप्राइज़ editon sql 2008r2 चला रहे हैं।
user3799984

मुझे मानक संस्करण के साथ भी यही समस्या थी। हमारे पास 8 सॉकेट थे और यह बाकी का उपयोग नहीं करेगा। हमें केवल वीएम को बदलना और 4 सॉकेट 2 कोर को कॉन्फ़िगर करना था।
निकोलस डी फोंटने

7

SQL सर्वर पहली बार निकाल दिया गया है, जब से ERRORLOG में देखें। यह आपको बताएगा कि कितने CPU का उपयोग करना है, और शायद क्यों। यदि आप कहीं ERRORLOG फाइल पोस्ट कर सकते हैं जो देखने में मददगार होगी कि क्या हो रहा है।


3

मैंने इसे अजमेर धारीवाल की एक अन्य पोस्ट पर देखा :

यदि आपके पास एंटरप्राइज़ संस्करण है, तो भी यदि लाइसेंसिंग मॉडल लागू किया जा रहा है, तो सर्वर + क्लाइंट एक्सेस लाइसेंस (CAL) आधारित है, तो सर्वर प्रति उदाहरण 20 भौतिक कोर तक सीमित है

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