मैं कैसे पता लगा सकता हूं कि लिनक्स प्रक्रिया की पृष्ठ तालिका कितनी बड़ी है, साथ ही किसी भी अन्य चर-आकार प्रक्रिया लेखांकन के साथ?लिनक्स प्रक्रिया के पृष्ठ तालिका आकार और अन्य कर्नेल एकाउंटिंग को कैसे ढूंढें या गणना करें?
उत्तर
तुम सच में पृष्ठ सारणी में रुचि रखते हैं,
$ cat /proc/meminfo | grep PageTables
PageTables: 24496 kB
यह उपयोगी है, लेकिन मुझे यह पता लगाने की आवश्यकता है कि यह आकार "बहुत बड़ा" है या नहीं। अगर इस आकार की कोई सीमा है जो फोर्क() को विफल करने के लिए कॉल करेगी, और उस सीमा के करीब कितना कर्नेल है। आदर्श रूप से, मुझे यह भी पता लगाना होगा कि उस पृष्ठ के आकार का किस हिस्से का उपयोग किसी विशिष्ट प्रक्रिया द्वारा किया जा रहा है, जैसे कि जब फोर्क() उस प्रक्रिया के लिए तालिकाओं की प्रतिलिपि बनाने का प्रयास करता है, तो सीमा पार हो जाएगी। –
हममम, ये इन गोल्डन Tymes में वापस आ गया है, हम nlist कहा करते थे एक (3) डेटा हम रुचि रखते थे के लिए प्रणाली का पता पाने के लिए क्या में, फिर खुला/dev/kmem, पते की तलाश करें, फिर डेटा पढ़ें। यह सुनिश्चित नहीं है कि यह लिनक्स में काम करता है, लेकिन यह "मैन 3 नलिस्ट" टाइप करने और वापस आने के लायक होने के लायक हो सकता है।
आपको अपनी समस्या का वर्णन करना चाहिए, और विवरणों के बारे में नहीं पूछना चाहिए। यदि आप बहुत ज्यादा फोर्क करते हैं (विशेष रूप से ऐसी प्रक्रिया के साथ जिसमें एक बड़ा पता स्थान होता है) वहां सभी प्रकार की चीजें होती हैं जो गलत होती हैं (स्मृति से बाहर), एक अधिकतम अधिकतम आकार को मारना आईएमएचओ यथार्थवादी समस्या नहीं है।
थैड ने कहा, मैं भी लिनक्स में एक प्रक्रिया पेजेटिव शेयर पढ़ने में रुचि रखूंगा।
अंगूठे के एक साधारण नियम के रूप में आप हालांकि यह मान सकते हैं कि प्रत्येक प्रक्रिया पैगेटेबल में एक शेयर को खो देती है जो इसके वर्चुअल आकार के बराबर होती है, उदाहरण के लिए प्रत्येक पृष्ठ के लिए 6 बाइट्स। तो उदाहरण के लिए यदि आपके पास 8 जीबी एसजीए और 500 प्रोसेसिंग के साथ ओरेकल डाटाबेस है, तो प्रत्येक प्रक्रिया 14 एमबी पेजेटेबल का उपयोग करेगी, जिसके परिणामस्वरूप 7 जीबी पेजेटेबल्स + 8 जीबी एसजीए होगा। (http://kevinclosson.wordpress.com/2009/07/25/little-things-doth-crabby-make-%E2%80%93-part-ix-sometimes-you-have-to-really-really-want-your-hugepages/ से नमूना संख्या)
ओह बीटीडब्ल्यू, अब विशाल पृष्ठों के साथ कुछ संख्याएं: http://kevinclosson.wordpress.com/2009/07/28/quantifying-hugepages-memory-savings-with-oracle-database-11g/ – eckes
लिनक्स 2.6.10 के बाद से, एक प्रक्रिया द्वारा उपयोग की गई स्मृति की मात्रा 'पृष्ठ तालिका /proc/<pid>/status
के वीएमपीटीई क्षेत्र के माध्यम से उजागर की गई है।
ऐसा लगता है कि यह अच्छी तरह से काम करता है , जब मैं एमएमएपी के साथ विशाल पृष्ठों को आवंटित करता हूं: आवंटित आकार एक छोटा स्थिर है, आवंटन का आकार चाहे (कर्नेल 4.4.0-77)। –
फ़ील्ड VmPMD फ़ील्ड द्वारा रिपोर्ट किया गया मान ठीक लगता है, यह विशाल पृष्ठों के साथ भी आवंटन के आकार के साथ रैखिक रूप से बढ़ता है। लेकिन मुझे नहीं लगता कि यह पूरे पृष्ठ तालिका के लिए खाता है (आदमी कहता है "द्वितीय स्तर के पेज टेबल का आकार")। शास्त्रीय पृष्ठों के साथ प्रयोग करते समय, यह मान VmPTE से लगभग 500 गुना कम है। –
- 1. लिनक्स कर्नेल बग को कैसे/कहाँ ढूंढें?
- 2. मैं पृष्ठ तालिका आकार की गणना कैसे करूं?
- 3. लिनक्स कर्नेल
- 4. लिनक्स प्रक्रिया के लिए कर्नेल स्टैक
- 5. लिनक्स कर्नेल मॉड्यूल में निष्पादन योग्य पृष्ठ आवंटित कैसे करें?
- 6. बैश और लिनक्स कर्नेल
- 7. लिनक्स कर्नेल मॉड्यूल को कैसे कोड करें?
- 8. वर्चुअल मेमोरी आकार और लिनक्स सिस्टम के कैश आकार को कैसे ढूंढें?
- 9. लिनक्स कर्नेल शेड्यूलिंग
- 10. लिनक्स का पृष्ठ आकार (x86) 4 KB क्यों है, इसकी गणना कैसे की जाती है?
- 11. प्रक्रिया निर्माण पर लिनक्स प्रक्रिया कर्नेल स्टैक स्थिति क्या है?
- 12. लिनक्स कर्नेल
- 13. लिनक्स कर्नेल
- 14. एंड्रॉइड कर्नेल और वेनिला लिनक्स कर्नेल
- 15. लिनक्स कर्नेल
- 16. लिनक्स कर्नेल
- 17. एक प्रक्रिया के सीपीयू उपयोग और लिनक्स में अपने सभी बाल प्रक्रियाओं की गणना कैसे करें?
- 18. लिनक्स कर्नेल प्रोग्रामिंग, कोडिंग या रीडिंग सीखना कैसे शुरू करें?
- 19. ओटीपी प्रक्रिया के पर्यवेक्षक को कैसे ढूंढें?
- 20. लिनक्स कर्नेल
- 21. क्या लिनक्स में कर्नेल मॉड्यूल के लिए आकार सीमा है?
- 22. लिनक्स कर्नेल मॉड्यूल
- 23. जावास्क्रिप्ट- किसी पृष्ठ के भीतर टेक्स्ट ढूंढें और पृष्ठ
- 24. लिनक्स कर्नेल अमान्य टीएलबी प्रविष्टियां
- 25. लिनक्स कर्नेल प्रक्रिया करता है और प्रक्रिया के बाद टीसीपी कनेक्शन क्लीनअप कहां मर जाता है?
- 26. लिनक्स कर्नेल
- 27. लिनक्स कर्नेल
- 28. लिनक्स कर्नेल
- 29. माउंट/विभाजन को निर्देशिका या फ़ाइल कैसे ढूंढें? (लिनक्स सर्वर)
- 30. लिनक्स कर्नेल
मुझे आपके प्रश्न को समझने के लिए निश्चित नहीं है: पृष्ठ तालिका का आकार, AFAIK, एक ही मंच पर निर्भर प्रक्रिया नहीं है (ठीक है, मैं गलत हो सकता हूं, मैं लिनक्स गुरु नहीं हूं ..)। बीटीडब्ल्यू मुझे आश्चर्य है: क्या आप वास्तव में पेज * टेबल * आकार का मतलब है? या आप इसका मतलब है * पेज आकार *, क्योंकि प्रोग्रामर आईएमएचओ द्वारा इसे अधिक बार आवश्यकता होती है? –
मेरा मतलब है (कर्नेल) मेमोरी की मात्रा जो एक विशेष प्रक्रिया की पृष्ठ तालिका खपत कर रही है। –