कैसे पता लगाया जाए कि आइसोलेकस सक्रिय है और किस cpus पर, उदाहरण के लिए जब आप पहली बार किसी सर्वर पर कनेक्ट होते हैं। शर्तेँ:
यह देखने के लिए कोई प्रक्रिया नहीं बताई गई है कि यह कहां माइग्रेट किया जाएगा।
उपयोग का मामला यह है कि isolcpus=1-7
6 कोर i7 पर, बूट पर आइसोलिपस को सक्रिय नहीं करने के लिए लगता है, और मैं यह जानना चाहूंगा कि क्या यह संभव है /proc/
, /sys
या किसी भी कर्नेल इंटर्नल जो कि यूजरस्पेस में पढ़ा जा सकता है, आइसोलेकस की सक्रियता की स्पष्ट स्थिति प्रदान करने के लिए और जो सीपीयू चिंतित हैं। या यहां तक कि शेड्यूलर की सक्रिय सेटिंग भी पढ़ें जो आइसोप्लेकस द्वारा पहले चिंतित है।
विचार करें कि अपटाइम इतना बड़ा है, कि dmesg
स्टार्टअप पर किसी भी त्रुटि का पता लगाने के लिए कोई अधिक प्रदर्शित बूट लॉग नहीं है। " कर्नेल सीएमडी लाइन को देखो " जैसे मूल उत्तर को स्वीकार नहीं किया जाएगा :)
pidstat
और के बीच कोई लिंक दिखाई नहीं देता है isolcpus
। क्या आप थोड़ा और विस्तृत कर सकते हैं?
isolcpus
है, लेकिन pidstat
आपको बता सकता है कि यदि आप -C process_name
ध्वज को पास करते हैं तो सीपीयू क्या चल रहा है । उदाहरण के लिए pidstat -C top
निम्नलिखित उत्पादन करता है। 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
एक कर्नेल पैरामीटर है, जो अनुसूचक को अलग-थलग होने पर किसी भी प्रक्रिया को स्वयं से स्थानांतरित नहीं करने के लिए मजबूर करता है। isolcpus=1-7
कर्नेल कमांड लाइन में एक 8 सीपीयू सर्वर पर छूट के लिए, केवल सीपीयू 0 पर चलने के लिए इनिट और शेल में किसी भी प्रकार की कमांड के लिए सभी स्पॉन्ड प्रक्रिया को बाध्य किया जाएगा। एक पृथक सीपीयू पर एक कार्य चलाने के लिए, आपको इसे छूट के साथ लॉन्च करने की आवश्यकता है taskset
। इसलिए मैं जो पूछ रहा हूं, उसके संबंध में, ऐसा लगता है कि आपका उत्तर विषय से बाहर है। वैसे भी मुझे जवाब देने की कोशिश करने के लिए धन्यवाद
pidstat -C isolcpus
? pidstatsysstat
पैकेज से है।