Windows 2008R2 पर SQL 2008R2 के लिए अनुशंसित पृष्ठ फ़ाइल आकार


25

यह Microsoft आलेख - Windows Server 2008 के 64-बिट संस्करणों के लिए उपयुक्त पृष्ठ फ़ाइल आकार का निर्धारण कैसे करें और या Windows 2008 R2 64 बिट Windows 2008 और Windows 2008R2 के लिए पृष्ठ फ़ाइल आकार की गणना के लिए मार्गदर्शन प्रदान करता है। यह कोई संदेह नहीं सामान्य प्रयोजन सर्वर के लिए ठीक काम करता है। मैं सोच रहा हूँ कि Windows 2008 / R2 64 बिट पर चलने वाले SQL Server 2008R2 के लिए क्या मार्गदर्शन है?

मुझे लगता है कि हम चाहते हैं कि स्मृति डेटा में पेज फ़ाइल को हिट किया जाए अन्यथा SQL डेटा के लिए डिस्क को दो बार मार सकता है। क्या SQL सर्वर भी पेज फ़ाइल को हिट करने के लिए मेमोरी में डेटा की अनुमति देता है? मैंने मार्गदर्शन के लिए SQL Server 2008 R2 पुस्तक ऑनलाइन के माध्यम से शिकार किया है, लेकिन अभी तक पृष्ठ फ़ाइल उपयोग का कोई उल्लेख नहीं मिला है।

यहां एक संभावित उपयोग परिदृश्य है: 64GB RAM के साथ एक भौतिक सर्वर को देखते हुए, पूरे 64GB RAM के लिए एक पेजफाइल आवश्यक है? क्या हमें इसे 96GB की पेजफाइल के लिए तैयार करना चाहिए? यह एक फ़ाइल के लिए थोड़ा अधिक लगता है। मुझे पता है कि पारंपरिक ज्ञान यह है कि विंडोज जोड़े रैम पर एप्स को स्वैप करने की कोशिश में मेमोरी को पेजफाइल करते हैं, लेकिन क्या यह सच है? क्या यहां 64GB से कम पेजफाइल बाधा का प्रदर्शन होगा?

जवाबों:


15

SQL सर्वर के लिए कोई विशेष सेटिंग नहीं है जो केवल सामान्य रूप से भौतिक मेमोरी का उपयोग करता है

बस विंडोज के लिए एमएस क्या कहता है और वह यह है

ओह, और वैसे भी अधिक RAM खरीदते हैं जबकि हम एक विषय हैं ... ;-)


6

में देखो lock pages in memory। इस तरह, आप अपने SQL सेवा खाते को डिस्क पर पेजिंग करने के बजाय उपलब्ध रैम का उपयोग करने के लिए वरीयता दे सकते हैं। मेमोरी में लॉक पेज पर अधिक पढ़ने के लिए, इस लिंक को देखें । एक स्निपेट निम्नानुसार है:

विंडोज पॉलिसी लॉक पेज इन मेमोरी विकल्प डिफ़ॉल्ट रूप से अक्षम है। यह विशेषाधिकार एड्रेस वाइंडिंग एक्सटेंशन (AWE) को कॉन्फ़िगर करने के लिए सक्षम होना चाहिए। यह नीति निर्धारित करती है कि कौन से खाते भौतिक मेमोरी में डेटा रखने के लिए एक प्रक्रिया का उपयोग कर सकते हैं, सिस्टम को डिस्क पर वर्चुअल मेमोरी में डेटा को पेजिंग करने से रोक सकते हैं। 32-बिट ऑपरेटिंग सिस्टम पर, इस विशेषाधिकार को सेट करते समय जब AWE का उपयोग नहीं किया जाता है, तो सिस्टम प्रदर्शन को काफी कम कर सकता है। 64-बिट ऑपरेटिंग सिस्टम पर मेमोरी में पेज लॉक करना आवश्यक नहीं है।

कृपया अपने सिस्टम पर उपयोग करने से पहले इस सुविधा का परीक्षण करें।


4
'मेमोरी में लॉक पेज' को शायद बेहतर तरीके से एक सुरक्षा कवच के रूप में वर्णित किया जा सकता है, ताकि SQL मेमोरी को ओएस द्वारा पृष्ठांकित किया जा सके। support.microsoft.com/kb/918483
मार्क स्टोरी-स्मिथ

4

हां, 64GB रैम के लिए आपको कम से कम 64GB स्वैप फाइल (96GB अनुशंसित) की आवश्यकता होती है। संभावित स्वैपिंग के कारण नहीं, बल्कि विंडोज मेमोरी मैनेजर के डिजाइन के कारण। मैंने बड़ी रैम वाली मशीनों पर सिस्टम पेजफाइल आकार में इस मुद्दे के बारे में पहले लिखा है :

जब कोई प्रक्रिया / के MEM_COMMITमाध्यम से मेमोरी मांगती है , तो अनुरोधित आकार को पेजफाइल में आरक्षित करने की आवश्यकता होती है। यह पहली Win NT सिस्टम में सच था, और आज भी सच है Win32 में वर्चुअल मेमोरी प्रबंधित करना देखें :VirtualAllocVirtualAllocEx

जब स्मृति प्रतिबद्ध होती है, तो मेमोरी के भौतिक पृष्ठ आवंटित किए जाते हैं और एक पेजफाइल में स्थान आरक्षित किया जाता है।

विकल्प कुछ इस तरह होगा oom_killer

इसलिए सिफारिश का पालन करें, कभी-कभी चीजें थोड़ी जटिल होती हैं, जितनी वे दिखती हैं। और मैंने AWE द्वारा लाए गए जटिलताओं और लॉक पेज विशेषाधिकार को छुआ भी नहीं है ...


बहुत दिलचस्प ... यह कैसे काम करता है जब आप मशीन में RAM से छोटी एक स्वैप फाइल सेट करते हैं? अगर वास्तव में हमें हर मेमोरी आवंटन के लिए पेजफाइल में जगह आरक्षित करने की आवश्यकता है, तो हम पेज फाइल साइज के मूल्य से अधिक मेमोरी का उपयोग नहीं कर पाएंगे? मुझे यकीन नहीं है कि व्यवहार में यह कैसे काम करता है।
shlomoid

1
वास्तव में यह अभ्यास में कैसे काम करता है। एक प्रतिबद्ध VA क्षेत्र को वास्तविक स्वैप आरक्षण द्वारा समर्थित किया जाना चाहिए। एक आरक्षित VA क्षेत्र का होना जरूरी नहीं है, लेकिन SQL सर्वर वस्तुतः गैर-प्रतिबद्ध आरक्षणों का अनुरोध नहीं करता है।
रेमुस रुसानु

2
मुझे नहीं लगता कि यह सही है। विभिन्न स्रोतों से मेरी समझ जैसे कि विंडोज इंटर्नल बुक्स यह है कि प्रतिबद्ध वर्चुअल एड्रेस स्पेस को भौतिक , या तो पेज फ़ाइल या रैम द्वारा समर्थित होना चाहिए । इसलिए यदि आप वर्चुअल मेमोरी> ([भौतिक मेमोरी विंडोज देखता है] + [पेजिंग फ़ाइल साइज]) करने की कोशिश करते हैं, तो आपको कुख्यात "आपका सिस्टम वर्चुअल मेमोरी पर कम है" त्रुटि संदेश मिलेगा। मार्क रोसिनोविच यहां "प्रतिबद्ध स्मृति" के अनुभाग में इस बारे में बात करते हैं
जेम्स एल

5
मुझे लगता है कि आप अपने आप को पुष्टि कर सकते हैं कि प्रतिबद्ध VA क्षेत्रों को बिना किसी पेजिंग फ़ाइल के सिस्टम को बूट करके और Windows प्रारंभ होने की पुष्टि करके स्वैप आरक्षण द्वारा समर्थित होने की आवश्यकता नहीं है, और इसलिए प्रतिबद्ध VAS के 0 से अधिक बाइट्स होने चाहिए।
जेम्स एल

यह पोस्ट गलत है - यदि आपकी अधिकतम प्रतिबद्ध आवश्यकताओं की तुलना में अधिक मेमोरी है, तो यह पेज फाइल के बिना चलना पूरी तरह से संभव है। इसका मतलब होगा कि आप क्रैश डंप नहीं लिख सकते।
11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.