2010-11-23 6 views
5

अधिक विशेष रूप से: मैं इस जानकारी को प्रोग्राम के अंदर से ढूंढना चाहता हूं, अधिमानतः स्वैपिंग शुरू होने से ठीक पहले, इसलिए मैं प्रतिक्रिया दे सकता हूं। अब तक मैंने पाया:मैं लिनक्स पर जानकारी कैसे प्राप्त करूं कि मेरा प्रोग्राम स्वैपिंग है या नहीं?

  • सूचना /proc अंदर है, जो बहुत ही उपयोगी

  • mincore syscall जो Linux और BSD पर उपलब्ध हो रहा है नहीं है, लेकिन मुझे सभी पृष्ठों मैं में पारित करने के लिए की आवश्यकता है में दिलचस्पी है (पर्याप्त हो सकता है, लेकिन यह थोड़ा कठिन है)

कोई और विचार?

+0

निगरानी के अलावा (जो फिर आप अलार्म के लिए सेटअप कर सकते हैं) आप/proc/sys/vm/swappiness पर भी एक नज़र डाल सकते हैं, लेकिन यह आपके ऐप पर निर्भर करता है और आपकी मशीन का अन्य उपयोग क्या करता है। हो सकता है कि आप पूरी तरह से स्वैप अक्षम कर सकें (यदि आपका ऐप ओओएम स्थितियों को संभाल सकता है)। – Zlatko

+0

यह समझ में नहीं आता है। मैं पीपीपी (जो एक अजगर दुभाषिया है) के बारे में बात कर रहा हूं जो गति के लिए स्मृति का व्यापार कर सकता है। स्वैप सेटिंग स्थापित करने के विशेषाधिकार होने की संभावना नहीं है। – fijal

उत्तर

2

vmstat हर 2 सेकंड चलाने के लिए आपको कहते हैं कि "2 vmstat"। यह आप की तरह उत्पादन देता है:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ 
r b swpd free buff cache si so bi bo in cs us sy id wa st 
0 0  0 16124 431352 439000 0 0  4  2 37 18 0 0 100 0 0 

"सी" और "तो" कॉलम "स्वैप में" और "स्वैप आउट" कर रहे हैं। स्वैप स्वैप डिवाइस में कितनी मेमोरी है। स्वैप स्थिर होना चाहिए, और si और इतना शून्य होना चाहिए।

याद रखें:

आप वास्तव में नहीं पूछना चाहिए "मेरे कार्यक्रम अदला-बदली है" - करने के लिए विरोध के रूप में "प्रणाली अदला-बदली है।" आप प्रोग्राम दूसरों को स्वैप करने का कारण बन सकते हैं - अन्य लोग आपका स्वैप कर सकते हैं, इत्यादि। किसी भी तरह, जब ऐसा होता है - प्रदर्शन डी ... i..e ... s ....

+0

ठीक है, मेरा यही मतलब था :-) – fijal

संबंधित मुद्दे

 संबंधित मुद्दे