टास्कसेट वापरून सीपीयू कोर प्रोग्राम कसा असावा

सर्व्हर, लॅपटॉप किंवा डेस्कटॉप पीसी आणि अगदी मोबाइल डिव्हाइसमध्ये मल्टी-कोर प्रोसेसर अधिकाधिक सामान्य होत असल्याने, या प्रकारच्या सिस्टमसाठी अधिकाधिक अ‍ॅप्लिकेशन्स ऑप्टिमाइझ केल्या जातात. तथापि, एखादा कार्यक्रम किंवा प्रक्रिया एक किंवा अधिक विशिष्ट कर्नलशी जोडणे कधीकधी उपयुक्त ठरेल. ते कसे मिळवायचे ते पाहूया ...

टास्कसेट स्थापित करा

टास्कसेट साधन "यूज-लिनक्स" पॅकेजचा एक भाग आहे. डिफॉल्टनुसार पूर्व-स्थापित पॅकेजसह बहुतेक लिनक्स वितरण येते. जर टास्कसेट उपलब्ध नसेल तर ते स्थापित करणे खालीलप्रमाणे आहे:

En डेबियन / उबंटू आणि डेरिव्हेटिव्ह्ज:

sudo apt-get get use-linux स्थापित करा

En Fedora आणि डेरिव्हेटिव्ह्ज:

sudo yum इंस्टॉल युज-लिनक्स

चालू असलेल्या प्रक्रियेचा सीपीयू संबंध पहा

प्रक्रियेसाठी सीपीयू संबंधित माहिती पुनर्प्राप्त करण्यासाठी खालील स्वरूप वापरा:

टास्कसेट -पी पीआयडी

उदाहरणार्थ, पीआयडी 2915 सह प्रक्रियेच्या सीपीयूची आत्मीयता तपासण्यासाठी:

टास्कसेट -पी 2915

निकाल मिळवते:

पीड 2915 चा सध्याचा संबंध मुखवटा: एफएफ

टास्कसेट सध्याचे सीपीयू आकर्षण हेक्साडेसिमल बिट मास्क स्वरूपनात परत करते. उदाहरणार्थ, आत्मीयता (हेक्साडेसिमल बिट मास्कमध्ये प्रतिनिधित्व केलेले) बायनरी स्वरूपात "11111111" शी संबंधित आहे, ज्याचा अर्थ असा आहे की प्रक्रिया कोणत्याही आठ वेगवेगळ्या सीपीयू कोअरवर (0 ते 7) चालू शकते.

हेक्साडेसिमल बिट मास्कमधील सर्वात कमी बिट कोर आयडी 0 शी संबंधित आहे, कोर आयडी 1 पासून उजवीकडील दुसरी सर्वात कमी बिट, कोर आयडी 2 इ. मधील सर्वात कमी बिट. तर, उदाहरणार्थ, एक सीपीयू संबंध "0x11" कोर आयडी 0 आणि 4 चे प्रतिनिधित्व करतो.

टास्कसेट, बिटमास्क ऐवजी प्रोसेसरच्या यादीच्या रुपात सीपीयूचे आत्मीयता प्रदर्शित करू शकते, जे वाचणे खूप सोपे आहे. हे स्वरूपन वापरण्यासाठी, आपल्याला "-c" पर्यायासह टास्कसेट चालवावे लागेल. उदाहरणार्थ:

टास्कसेट -सीपी 2915

निकाल मिळवते:

पीड 2915 ची सध्याची आत्मीयता यादी: 0-7

विशिष्ट कर्नलवर प्रक्रिया चालू करण्यासाठी सक्ती करा

टास्कसेटचा वापर करून, चालू असलेल्या प्रक्रियेस विशिष्ट सीपीयू कोर निर्दिष्ट केले जाऊ शकते. हे करण्यासाठी, आपण खालील स्वरूप वापरणे आवश्यक आहे:

टास्कसेट -पी कॉरेमास्क पीआयडी टास्कसेट -सीपी सीओ-लिस्ट पीआयडी

उदाहरणार्थ, कोर 0 आणि 4 वर प्रक्रिया नियुक्त करण्यासाठी, आपण याल:

टास्कसेट -p 0x11 9030

काय निकाल मिळतो:

पीडी 9030 चा सध्याचा अ‍ॅफिनिटी मुखवटा: एफएफ पीड 9030 चा नवीन अफेनिटी मुखवटा: 11

समांतर, आपण चालवू शकता:

टास्कसेट -सीपी 0,4 9030

"-C" पर्यायासह, आपण स्वल्पविरामाने विभक्त केलेल्या संख्यात्मक कर्नल आयडींची सूची निर्दिष्ट करू शकता किंवा आपण श्रेणी देखील समाविष्ट करू शकता (उदाहरणार्थ, 0,2,5,6-10).

विशिष्ट कर्नलचा वापर करून प्रोग्राम लाँच करा

टास्कसेट कित्येक विशिष्ट कर्नलचा वापर करून नवीन प्रोग्राम सुरू करण्यास अनुमती देते. हे करण्यासाठी, ते खालील स्वरुपात वापरले जाणे आवश्यक आहे:

कॉर्मॅक एक्झिकेशेबल टास्कसेट

उदाहरणार्थ, सीपीयू कोअर आयडी 0 वर व्हीएलसी प्रोग्राम सुरू करण्यासाठी, खालील आदेश वापरा:

टास्कसेट -c 0 vlc

केवळ एखाद्या विशिष्ट प्रोग्रामसाठी कोर समर्पित करा

जरी टास्कसेट एखाद्या विशिष्ट कर्नलला प्रोग्राम प्रदान करण्यास परवानगी देतो, परंतु याचा अर्थ असा नाही की इतर कोणतेही प्रोग्राम किंवा प्रक्रिया वापरत नाहीत. हे टाळण्यासाठी आणि संपूर्ण प्रोग्रामला संपूर्ण कर्नल समर्पित करण्यासाठी, आपण कर्नल पॅरामीटर "isolcpus" वापरणे आवश्यक आहे, जे तुम्हाला स्टार्टअप दरम्यान कर्नल आरक्षित करण्यास अनुमती देते.

हे करण्यासाठी, आपल्याला GRUB मधील कर्नल लाइनमध्ये "isolcpus =" पॅरामीटर जोडावे लागेल. उदाहरणार्थ, आयडी कोर 0 आणि 1 आरक्षित करण्यासाठी "isolcpus = 0,1" जोडा.

एकदा हे पूर्ण झाल्यावर लिनक्स शेड्यूलर आरक्षित कर्नलला कोणतीही नियमित प्रक्रिया नियुक्त करणार नाही, जोपर्यंत टास्कसेटसह निर्दिष्ट केले नाही.

स्त्रोत: xmodulo & टास्कसेट मॅन पृष्ठे.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   पीटरचेको म्हणाले

    चांगली पोस्ट :).

  2.   लुइस म्हणाले

    चांगली पोस्ट पण ट्रोलिंगच्या हेतूशिवाय ...

    विशिष्ट कर्नलला प्रोग्राम देण्याचा काय उपयोग आहे ???

    म्हणजे; आपल्याकडे 12 कोअरसह संगणक असल्यास, तार्किक गोष्ट त्या 12 कोरांचा वापर करून एखाद्या विशिष्ट प्रोग्रामची अंमलबजावणी केली जाईल आणि त्याद्वारे मर्यादा न घालता आम्ही शक्य तितक्या उच्च कामगिरी प्राप्त करतो.

    मी जे पाहतो ते उपयोगी आहे, हा एक पर्याय आहे जो आम्हाला विशिष्ट प्रोग्रामवर त्याचा विशिष्ट वापर सोडून विशिष्ट कर्नलला कोणतीही प्रक्रिया नियुक्त करू शकत नाही.

    1.    jvk85321 म्हणाले

      आपण काय उल्लेख करता याचा अर्थ प्राप्त होतो, योजनाकाराने सर्व कोरे वापरुन संसाधने चांगली संतुलित केली जातात, परंतु काहीवेळा एक समर्पित कोर आवश्यक असते जसे की विशिष्ट कार्येसह आभासी मशीन चालवणे, त्या मशीनची कार्यक्षमता बरीच सुधारते जेव्हा नाही असाइनल कर्नलमध्ये अधिक प्रक्रिया चालू आहेत.

      atte
      jvk85321

      1.    लिनक्स वापरुया म्हणाले

        अचूक! धन्यवाद, jvk! 🙂

      2.    lf म्हणाले

        परंतु जेव्हा आपण व्हर्च्युअल मशीन तयार करीत आहात, तेव्हा ते नियुक्त केलेल्या सीपीयूचे प्रमाण निवडण्यास सांगते ... शेवटी जर कार्य प्रणालीने हे वगळले आणि सर्व सीपीयूवर चालवले तर हे मूल्य निवडण्याचा काय उपयोग आहे ... तेथे उदाहरण सर्वोत्तम नाही ...

        विंडोज 8.1 x64, एएमडी आणि फायरफॉक्सवर फ्लॅश कार्य करण्यासाठी, फ्लॅश फक्त एका सीपीयूवर चालतो हे निवडण्याची शिफारस केली गेली, परंतु ती माझ्यासाठी कार्य करत नाही. वेगळ्या डीई च्या टास्क मॅनेजरमध्ये (किंवा तो आधीपासून नसेल तर) किंवा किमान केडीईला जोडल्यास हे सोयीचे असेल.

      3.    lf म्हणाले

        अहो, मला टिप्पणीचा शेवट समजला नव्हता ... परंतु त्यासाठी, व्हर्च्युअल मशीन चालविणार्‍या सीपीयूवरील सर्व प्रक्रियांवर बंदी घालावी लागेल. किंवा त्यांना इतर सीपीयू नियुक्त करा. मनोरंजक आणि खूप चांगली टिप्पणी.

    2.    फर्नांडो म्हणाले

      अलौकिक बुद्धिमत्ता निर्माण करण्यासाठी वापरले जाते

  3.   लुइस म्हणाले

    हे समजले आहे.

    स्पष्टीकरणासाठी धन्यवाद.

  4.   टेक म्हणाले

    विशिष्ट प्रोग्रामसाठी कर्नल राखीव करताना, एक्जीक्यूशन थ्रेड्सचे काय होते? जर आपण एचटी सह कर्नलसह केले तर प्रोग्राममध्ये 2 एक्जीक्यूशन थ्रेड्स राखून ठेवतात.

  5.   स्विकर म्हणाले

    ही आज्ञा अनेक कोर असलेल्या संगणकावर फार उपयोगी वाटली नाही, परंतु ड्युअल कोअर असणा us्या आपल्यासाठी ही खरोखर व्यावहारिक आहे. उदाहरणार्थ, माझा एक खेळ आहे की जेव्हा मी उघडतो तेव्हा ते सर्व प्रोसेसर कोर वापरतात आणि माझ्याकडे सीपीयू आवश्यक असलेले इतर प्रोग्राम्स देखील असतात (जसे की मोठ्या फाइल्समध्ये ग्रीपसह शोध) नंतर सिस्टम मंद होते. फक्त एक कोअर वापरण्यासाठी गेम मर्यादित ठेवणे इतके सोपे आहे.
    मी एलएफ बरोबर देखील सहमत आहे, त्यांनी हे खरोखर टास्क मॅनेजरमध्ये एकत्रित केले पाहिजे (जेन्टोवर मी आतापर्यंत प्रयत्न केले आहेत, मला वाटते की त्यात काहीही नाही) विशेषकरुन जेव्हा विंडोजमध्ये एक्सपीपासून अस्तित्त्वात असलेली एखादी गोष्ट असते (प्रक्रियेवर राइट क्लिक करा> "आत्मीयता सेट करा ...") परंतु काही काळापूर्वी मला खालील स्क्रिप्ट सापडली जी टास्कसेटला आणखीन काही अंतर्ज्ञानी (मूळतः प्रकाशित केलेले) मध्ये बदलते येथे आणि अशीही काही प्रकरणे आहेत ज्यात कोरांचा वापर व्यवस्थापित करणे आवश्यक आहे):
    #!/bin/bash
    read -p 'Ingrese el ID del proceso en cuestión: ' ID
    read -p 'Ingrese la lista de procesadores separados por comas: ' P
    echo 'Su ID es '$ID' y los procesadores son '$P
    sudo taskset -p -c $P $ID
    read -p 'Listo, presione enter para finalizar' P

    काही सुधारणांसह, प्रक्रियेचे नाव पीआयडीऐवजी सूचित केले जाऊ शकते (किंवा ते दोघांना स्वीकारते आणि ते पॅरामीटर एक किंवा इतर आहे तेव्हा ते निर्णय घेते).

  6.   जॉर्स म्हणाले

    नवीन वापरकर्त्यांसाठी टास्कसेटसाठी कोणतेही ग्राफिकल इंटरफेस नाहीत हे छान होईल