क्या वास्तव में कर्नेल_टस्क करता है?


30

मैं यह जानना चाहूंगा कि यह क्या है कि कर्नेल_टस्क इसके लिए जिम्मेदार है। इसके अलावा, इसके लिए स्वीकार्य अधिकतम रैम और सीपीयू क्या है?


आपके रैम और सीपीयू को एक सुरक्षित बूट के बाद मापने के लिए सबसे अच्छा है कि आपका सिस्टम निष्क्रिय होने पर क्या मापता है।
bmike

1
टायलर के अनुसार, यह "सूक्ष्मजीव का ही प्रतिनिधित्व है।" यदि आप अधिक विशिष्ट उत्तर चाहते हैं, तो वह कहता है कि "यह मैक ओएस एक्स के लिए मैक के शीर्ष पर मूल (आभासी /) मेमोरी मैनेजर लगता है।" जब तक आप एक उच्च-स्तरीय Apple इंजीनियर से बात नहीं करेंगे, आपको एक निश्चित उत्तर खोजने में मुश्किल होगी। जनता ने केवल इस प्रक्रिया को एक साथ जोड़ा है। स्रोत: bleepsoft.com/tyler/index.php?itemid=43

जवाबों:


28

कर्नेल कार्य विशेष है क्योंकि यह माक 3.0 पर आधारित संपूर्ण ऑपरेटिंग सिस्टम / माइक्रो कर्नेल है । यह ज्यादातर कोर हार्डवेयर, टाइमिंग, मैसेज पासिंग और मेमोरी हैंडलिंग को अमूर्त करता है।

एक्टिविटी मॉनिटर में जो सबसे ज्यादा लोग देखते हैं, वह यह है कि kernel_taskइनपुट / आउटपुट (i / o) प्रोसेसिंग देरी और गणना के साथ-साथ प्रक्रियाओं और थ्रेड्स के शेड्यूलिंग ओवरहेड के लिए सभी सीपीयू समय को जमा करता है। इसी तरह - यह सभी मेमोरी आवंटन को जमा करता है जो उपयोगकर्ता स्थान में नहीं हैं। 2014 और नए एमएसीएस पर, यह कार्य सीपीयू को थ्रॉटल करने के लिए मौजूद है - जब प्रोसेसर में तापमान बहुत गर्म होता है, तो कर्नेल कार्य को "कोई काम नहीं" सौंपा जाता है और प्रोसेसर को निष्क्रिय होने और कंप्यूटर को गर्म न करने के लिए उच्च सीपीयू को दिखाता है। यह पोर्टेबल लाइन पर सबसे अधिक ध्यान देने योग्य है - विशेष रूप से प्रोसेसर को ठंडा करने के लिए किसी भी प्रकार के प्रशंसक या ब्लोअर के बिना मैकबुक। Apple ने संभावित कर्नेल प्रोग्रामर्स को "आप कर्नेल में प्रोग्रामिंग से दूर क्यों रहें" इसके लिए चेतावनी दी है शीतलन अक्षम करने से स्थायी अपूरणीय हार्डवेयर क्षति होगी।

संक्षेप में, कर्नेल प्रोग्रामिंग एक बहुत बड़ी जिम्मेदारी है। आपको यह सुनिश्चित करने के लिए असाधारण रूप से सावधान रहना चाहिए कि आपका कोड सिस्टम क्रैश करने का कारण नहीं बनता है, किसी अन्य की फ़ाइलों या मेमोरी तक कोई अनधिकृत उपयोगकर्ता पहुंच प्रदान नहीं करता है, दूरस्थ या स्थानीय रूट कारनामों का परिचय नहीं देता है, और अनजाने डेटा या भ्रष्टाचार का कारण नहीं बनता है। ।

यदि आप इसे रिबूट के बाद देखते हैं तो आप देखेंगे कि यह न्यूनतम रैम और सीपीयू जरूरतों के साथ शुरू होता है और इसके बजाय केवल तभी बढ़ता है जब अन्य प्रोग्राम चलते हैं और सिस्टम सेवाओं की आवश्यकता होती है।

इसे धीमा करने के लिए, अनावश्यक पोर्ट (वाईफाई, ब्लूटूथ, आदि ...) और साथ ही बेकार / अप्रयुक्त कार्यक्रमों को बंद कर दें। यदि चीजें व्यवस्थित नहीं होती हैं, तो यह सुनिश्चित करने के लिए रिबूटिंग पर विचार करें कि कोई कार्य अटका नहीं है या मेमोरी लीक हो रही है। यदि आपके पास वास्तविक काम करने वाले कार्यक्रम हैं, तो वे कर्नेल को मेमोरी और प्रोसेसर समय दोनों का उपयोग करने का कारण बनेंगे - जैसे आप चीजों को शुरू करते हैं, यह देखने के लिए कि कौन से अन्य प्रोग्राम इस व्यवहार का कारण बन रहे हैं। यह शायद ही कभी कर्नेल के साथ एक समस्या है - यहां तक ​​कि खराब प्रदर्शन वाले कार्यक्रमों के साथ - जो कि लॉग आउट करके और फिर से वापस करके हल नहीं किया जा सकता है। कर्नेल_टस्क अच्छी तरह से साफ हो जाता है और आम तौर पर केवल कार्यभार के लिए आवश्यक संसाधनों का उपयोग करने के लिए ध्यान रखता है।


धन्यवाद! क्या आप कहेंगे कि 700-750 एमबी रैम इसके लिए स्वीकार्य है? मेरे पास बहुत कुछ है, लेकिन मैं यह जानना चाहूंगा कि अगर मुझे कुछ करना है तो मुझे कुछ भी करना चाहिए।
टिमोथी मुलर-हार्डर

जरुरी नहीं। मेरे मुख्य मैकबुक प्रो पर, यह उस समय 2 जीबी तक बढ़ सकता है जब मैं वास्तव में बहुत सारे शामिल कार्यक्रम चला रहा हूं। फिर भी, मुझे अक्सर रिबूट नहीं करना पड़ता है, लेकिन महीने में एक बार। (2.66 Core 2 Duo / 8 GB RAM)
bmike

14

मैक ओएस एक्स इंटर्नल्स: ए सिस्टम दृष्टिकोण - अमित सिंह - Google पुस्तकें :

कर्नेल अपनी कार्यक्षमता को विभिन्न निष्पादन प्रवाह में विभाजित करने के लिए कार्य और थ्रेड एब्स्ट्रैक्ट का उपयोग करता है। कर्नेल एकल कार्य का उपयोग करता है - कर्नेल कार्य-जिसमें कई थ्रेड होते हैं, जो कर्नेल संचालन जैसे शेड्यूलिंग, थ्रेड रीपिंग, कॉलआउट प्रबंधन, पेजिंग और यूनिक्स अपवाद हैंडलिंग कार्य करते हैं। इस प्रकार, xnu एक अखंड कर्नेल है, जिसमें माच, BSD और I / O किट जैसे अलग-अलग घटक होते हैं, जो सभी एक ही एड्रेस स्पेस में एक ही कार्य में थ्रेड के समूह के रूप में चल रहे हैं।

http://lists.apple.com/archives/darwin-kernel/2010/Sep/msg00014.html :

कर्नेल कार्य वास्तविक कार्य नहीं है। यह कर्नेल का प्रतिनिधित्व करता है, जो ऑपरेटिंग सिस्टम का मूल है। एक आवेदन के प्रत्यक्ष अनुरोध पर यह क्या करता है के थोक। हर बार जब आप मेमोरी का एक बड़ा ब्लॉक आवंटित करते हैं, फ़ाइल खोलते या बंद करते हैं, फ़ाइल पढ़ते हैं या लिखते हैं, नेटवर्क पर डेटा खींचते हैं, एक नई प्रक्रिया या थ्रेड बनाते हैं, आदि, आपका एप्लिकेशन एक सिस्टम कॉल करता है। ये कॉल कर्नेल को आपके एप्लिकेशन के लिए काम करने का कारण बनाते हैं। उस कार्य में से अधिकांश को कर्नेल कार्य के लिए बिल किया जाता है, लेकिन यह वास्तव में अप्रत्यक्ष रूप से आपके आवेदन द्वारा किया जा रहा है।


1

कर्नेल का ओवर-वर्किंग होने का एक व्यावहारिक कारण यह है कि आपका सिस्टम मेमोरी से बाहर है और यह थ्रेशिंग है। गतिविधि मॉनिटर की मेमोरी टैब के तहत मेमोरी प्रेशर ग्राफ की जाँच करें कि यह पीला या लाल है या नहीं।

इस मामले में, आप मेमोरी को प्रक्रियाओं को सॉर्ट कर सकते हैं और कुछ को समाप्त कर सकते हैं जो दबाव को कम करने के लिए इसका बहुत अधिक उपभोग करते हैं। (उदाहरण के लिए कुछ Google Chrome हेल्पर प्रक्रियाओं को मारें)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.