2013-02-25 16 views
6

के कुल मेमोरी उपयोग को सीमित करना मुझे पता है कि postgresql.conf के साथ मैं PostgreSQL के विशिष्ट हिस्सों के स्मृति उपयोग को सीमित स्मृति या कार्यकर्ता स्मृति की तरह सीमित कर सकता हूं, लेकिन क्या PostgreSQL सर्वर के कुल मेमोरी उपयोग को सीमित करने का कोई तरीका है? मैं एक कॉन्फ़िगरेशन प्रॉपर्टी ढूंढने में असफल रहा जो ...PostgreSQL

बीटीडब्ल्यू, मुझे इसे विंडोज सर्वर 2008 मशीन पर चलाने की आवश्यकता होगी।

उत्तर

6

आपका मतलब "कुल" स्मृति क्या है? यह आपके द्वारा विभिन्न पूलों को आवंटित करने का योग है।

तो, संक्षेप में ... विभिन्न पूल/बफर बहुत बड़े सेट न करें और यह आपकी कुल स्मृति सीमा है।

+1

मुझे लगता है ... मैं उम्मीद कर रहा था कि कुछ सीमा है जिसे मैं सेट कर सकता हूं और आश्वस्त रह सकता हूं कि PostgreSQL कभी इसे पास नहीं करेगा, लेकिन मुझे लगता है कि ऐसा करना होगा। क्या उन मेमोरी सीमाओं को सेट करते समय मुझे कोई नुकसान दिखाना चाहिए? –

+1

work_mem एक व्यक्तिगत प्रकार या अन्य मेमोरी गहन ऑपरेशन (हैश ऑप्स इत्यादि) द्वारा अधिकतम मेमोरी उपयोग योग्य है। प्रत्येक क्वेरी में ओ, 1, या इनमें से अधिक ऑप्स हो सकते हैं। मान लें कि आपकी औसत क्वेरी में 2 या कम प्रकार के इत्यादि हैं, आप अधिकतम मेमोरी का सकल विचार प्राप्त कर सकते हैं जो भारी उपयोग की जाने वाली मशीन देख सकता है max_connections * work_mem * 2, देना या लेना। व्यक्तिगत postgresql बैकएंड केवल 6 एमबी का उपयोग करते हैं, जब तक कि आपके पास बहुत अधिक अधिकतम अधिकतम कनेक्शन नहीं हैं, बिना किसी प्रकार के व्यक्तिगत बैकएंड, बहुत अधिक नहीं जोड़ते हैं। –

+0

ध्यान रखें कि कम कभी-कभी अधिक होता है, इसलिए केवल उन सभी संख्याओं को अंधाधुंध न करें, क्योंकि अत्यधिक स्तर पर सेट होने पर वास्तव में प्रदर्शन दंड वास्तव में होते हैं। –