मेमोरी प्रेशर मेमोरी फ्री के प्रतिशत का एक साधारण गेज नहीं है और यह 0 से 100% ग्राफ लगता है। sysctl
का मूल्य vm.memory_pressure
एक गणना लक्ष्य है कि तार और सक्रिय पृष्ठों करने के लिए स्वतंत्र है और निष्क्रिय स्मृति पृष्ठों के बीच का अनुपात पटरियों के संबंध में गणना की जाती है। vm_stat
आभासी मेमोरी के विस्तृत आवंटन का निरीक्षण करने के लिए कमांड काउंटर टूल का उपयोग करके पूर्ण काउंटर देखे जाते हैं । जोनाथन लेविन के पास http://newosxbook.com/articles/MemoryPressure.html पर उत्कृष्ट दस्तावेज हैं, जो macOS और iOS वर्चुअल मेमोरी दोनों को कवर करते हैं और कैसे वे दबाव के दबाव के साथ-साथ मेमोरी इंडेक्स की गणना करते हैं और जब दबाव इंडेक्स अधिक होता है।
प्रासंगिक वर्चुअल मेमोरी (vm) जो की गणना को खिलाती vm.memory_pressure
हैं:
vm.page_free_count
- मुक्त पृष्ठों की एक निरपेक्ष गणना
vm.vm_page_free_target
- "दबाव मुक्त" स्थिति के लिए एक गणना लक्ष्य या लक्ष्य
vm.page_free_wanted
- vm प्रणाली वर्तमान गणना दबाव सूचकांक को कम करने के लिए क्या करना चाहेगी
इसलिए - यदि आप गतिविधि की निगरानी के साथ अपने मेमोरी प्रेशर को ट्रैक कर रहे हैं (या क्रमिक रूप से या कमांड लाइन शेल पर मेरे sysctl मान की जाँच कर रहे हैं) तो आप इन चार मूल्यों को देखने के लिए अच्छा करेंगे:
sysctl -a vm | egrep "page_free|pressure"
memory_pressure
मैवरिक्स के साथ एक नई कमांड शुरू की गई है और जब मैं इसे मेमोरी सबसिस्टम को चेतावनी की स्थिति में चलाने के लिए चलाता हूं - तो आप मेमोरी दबाव को एक पीले रंग की सीमा में बढ़ा सकते हैं।
टूल को लगभग 4 जीबी मेमोरी के लिए आवंटित किया गया है क्योंकि दबाव ग्राफ इस राज्य में तेजी से बढ़ा है जहां जाहिर तौर पर "चेतावनी" का स्तर रेखांकन है sudo memory_pressure -l warn
:। जैसा कि आप देख सकते हैं, दबाव से पहले प्रणाली में 5.9 जीबी का उपयोग किया गया था और बाद में 7.99 जीबी तक का उपयोग किया गया था, जिसे स्वैपिंग और संपीड़न के कारण जोड़ने की आवश्यकता नहीं है।
यह देखने के बाद कि vm_stat 15
बिना किसी औसत दर्जे के पेजिंग में चेतावनी परिणाम कैसे दिखा, मैंने टूल (कंट्रोल-सी) छोड़ दिया और फिर मेमोरी प्रेशर को क्रिटिकल बनाने के लिए टूल को फिर से चलाया।sudo memory_pressure -l critical
पेजिंग शुरू होने के बाद मैंने इसे कुछ मिनटों से अधिक नहीं चलने दिया और एक बार जब टूल ने कहा कि मेरे पास डिस्क में 5 जीबी रैम है, मैं अपनी ड्राइव को भरना नहीं चाहता था और टूल को छोड़ दिया था।
आप यह देख सकते हैं कि चेतावनी समाप्त होने के बाद सिस्टम ने रैम को कितनी तेजी से मुक्त किया और यह भी कि "लाल" क्षेत्र में कैसे रैम्प हुआ, यह दिखाने के लिए कि वर्चुअल मेमोरी सिस्टम डिस्क को स्वैप करने से बचने के लिए पर्याप्त पृष्ठों को संपीड़ित नहीं कर सकता है। मेरा शिक्षित अनुमान दबाव पर लाल है, स्वैपिंग और नाटकीय ओवर-आवंटन और / या ऐसा समय इंगित करता है, जहां मुक्त पेज सिस्टम पसंद की राशि से नीचे हैं और यह सक्रिय रूप से निष्क्रिय पृष्ठों और / या स्वैपिंग पृष्ठों को स्वैप करने के लिए उपयोग किए जाने की उम्मीद है। इसी तरह, आवंटन जारी होते ही सिस्टम तेजी से ठीक हो जाता है और वर्चुअल मेमोरी सिस्टम से दबाव हट जाता है।