பணித்தொகுப்பைப் பயன்படுத்தி ஒரு நிரலை ஒரு CPU மையத்திற்கு எவ்வாறு ஒதுக்குவது

சேவையகங்கள், மடிக்கணினிகள் அல்லது டெஸ்க்டாப் பிசிக்கள் மற்றும் மொபைல் சாதனங்களில் கூட மல்டி கோர் செயலிகள் மிகவும் பொதுவானதாக இருப்பதால், இந்த வகை அமைப்புக்கு அதிகமான பயன்பாடுகள் உகந்ததாக இருக்கும். இருப்பினும், ஒரு நிரல் அல்லது செயல்முறையை ஒன்று அல்லது அதற்கு மேற்பட்ட குறிப்பிட்ட கர்னல்களுடன் இணைக்க இது சில நேரங்களில் பயனுள்ளதாக இருக்கும். அதை எவ்வாறு பெறுவது என்று பார்ப்போம் ...

பணித்தொகுப்பை நிறுவவும்

பணி கருவி கருவி "யூட்-லினக்ஸ்" தொகுப்பின் ஒரு பகுதியாகும். பெரும்பாலான லினக்ஸ் விநியோகங்கள் முன்னிருப்பாக நிறுவப்பட்ட தொகுப்புடன் வருகின்றன. பணிநிலையம் கிடைக்கவில்லை என்றால், அதை பின்வருமாறு நிறுவ முடியும்:

En டெபியன் / உபுண்டு மற்றும் வழித்தோன்றல்கள்:

sudo apt-get util-linux ஐ நிறுவவும்

En ஃபெடோரா மற்றும் வழித்தோன்றல்கள்:

sudo yum util-linux ஐ நிறுவவும்

இயங்கும் செயல்முறையின் CPU தொடர்பைக் காண்க

ஒரு செயல்முறைக்கு CPU தொடர்பு தகவலை மீட்டெடுக்க, பின்வரும் வடிவமைப்பைப் பயன்படுத்தவும்:

tasket -p PID

எடுத்துக்காட்டாக, PID 2915 உடன் ஒரு செயல்முறையின் CPU இன் தொடர்பை சரிபார்க்க:

tasket -p 2915

முடிவை வழங்குகிறது:

pid 2915 இன் தற்போதைய தொடர்பு முகமூடி: ff

பணித்தொகுப்பு தற்போதைய CPU உறவை ஒரு ஹெக்ஸாடெசிமல் பிட் மாஸ்க் வடிவத்தில் வழங்குகிறது. எடுத்துக்காட்டில், பிணைப்பு (ஒரு ஹெக்ஸாடெசிமல் பிட் முகமூடியில் குறிப்பிடப்படுகிறது) பைனரி வடிவத்தில் "11111111" உடன் ஒத்திருக்கிறது, அதாவது இந்த செயல்முறை எட்டு வெவ்வேறு CPU கோர்களில் (0 முதல் 7 வரை) இயங்க முடியும்.

ஒரு ஹெக்ஸாடெசிமல் பிட் முகமூடியின் மிகக் குறைந்த பிட் கோர் ஐடி 0, வலதுபுறம் கோர் ஐடி 1 க்கு இரண்டாவது மிகக் குறைந்த பிட், கோர் ஐடி 2 க்கு மூன்றாவது மிகக் குறைந்த பிட் மற்றும் பலவற்றை ஒத்துள்ளது. எனவே, எடுத்துக்காட்டாக, ஒரு CPU உறவு "0x11" முக்கிய ஐடிகளை 0 மற்றும் 4 ஐ குறிக்கிறது.

டாஸ்கெட் ஒரு பிட்மாஸ்க்கு பதிலாக செயலிகளின் பட்டியலாக CPU உறவை காண்பிக்க முடியும், இது படிக்க மிகவும் எளிதானது. இந்த வடிவமைப்பைப் பயன்படுத்த, நீங்கள் "-c" விருப்பத்துடன் பணித்தொகுப்பை இயக்க வேண்டும். உதாரணத்திற்கு:

tasket -cp 2915

முடிவை வழங்குகிறது:

pid 2915 இன் தற்போதைய தொடர்பு பட்டியல்: 0-7

ஒரு குறிப்பிட்ட கர்னலில் இயக்க ஒரு செயல்முறையை கட்டாயப்படுத்தவும்

பணிநிலையத்தைப் பயன்படுத்தி, ஒரு குறிப்பிட்ட CPU மையத்திற்கு இயங்கும் செயல்முறையை நீங்கள் ஒதுக்கலாம். இதைச் செய்ய, நீங்கள் பின்வரும் வடிவமைப்பைப் பயன்படுத்த வேண்டும்:

tasket -p COREMASK PID tasket -cp CORE-LIST PID

எடுத்துக்காட்டாக, 0 மற்றும் 4 கோர்களுக்கு ஒரு செயல்முறையை ஒதுக்க, நீங்கள் இயக்குவீர்கள்:

tasket -p 0x11 9030

இதன் விளைவாக என்ன கிடைக்கும்:

pid 9030 இன் தற்போதைய இணைப்பு முகமூடி: ff pid 9030 இன் புதிய இணைப்பு முகமூடி: 11

சமமாக, நீங்கள் இயக்கலாம்:

tasket -cp 0,4 9030

"-C" விருப்பத்துடன், நீங்கள் கமாக்களால் பிரிக்கப்பட்ட எண் கர்னல் ஐடிகளின் பட்டியலைக் குறிப்பிடலாம் அல்லது வரம்புகளைக் கூட சேர்க்கலாம் (எடுத்துக்காட்டாக, 0,2,5,6-10).

ஒரு குறிப்பிட்ட கர்னலைப் பயன்படுத்தி ஒரு நிரலைத் தொடங்கவும்

பல குறிப்பிட்ட கர்னல்களைப் பயன்படுத்தி புதிய நிரலைத் தொடங்க டாஸ்கெட் அனுமதிக்கிறது. இதைச் செய்ய, இது பின்வரும் வடிவத்தில் பயன்படுத்தப்பட வேண்டும்:

COREMASK EXECUTABLE பணித்தொகுப்பு

எடுத்துக்காட்டாக, CPU கோர் ஐடி 0 இல் வி.எல்.சி நிரலைத் தொடங்க, பின்வரும் கட்டளையைப் பயன்படுத்தவும்:

tasket -c 0 vlc

ஒரு குறிப்பிட்ட திட்டத்திற்கு மட்டுமே ஒரு மையத்தை அர்ப்பணிக்கவும்

ஒரு குறிப்பிட்ட கர்னலுக்கு ஒரு நிரலை ஒதுக்க டாஸ்கெட் அனுமதித்தாலும், அதைப் பயன்படுத்துவதற்கு வேறு நிரல்கள் அல்லது செயல்முறைகள் இல்லை என்று அர்த்தமல்ல. இதைத் தவிர்க்க மற்றும் ஒரு முழு நிரலையும் ஒரு குறிப்பிட்ட நிரலுக்கு அர்ப்பணிக்க, நீங்கள் கர்னல் அளவுரு "ஐசோல்க்பஸ்" ஐப் பயன்படுத்த வேண்டும், இது தொடக்கத்தின் போது ஒரு கர்னலை முன்பதிவு செய்ய உங்களை அனுமதிக்கிறது.

இதைச் செய்ய, நீங்கள் GRUB இல் உள்ள கர்னல் வரிசையில் "isolcpus =" அளவுருவைச் சேர்க்க வேண்டும். எடுத்துக்காட்டாக, ஐடி கோர்களை 0 மற்றும் 1 ஐ முன்பதிவு செய்ய, "ஐசோல்க்பஸ் = 0,1" ஐச் சேர்க்கவும்.

இது முடிந்ததும், லினக்ஸ் திட்டமிடல் எந்தவொரு வழக்கமான செயல்முறைகளையும் ஒதுக்கப்பட்ட கர்னலுக்கு ஒதுக்காது, குறிப்பாக பணிநிலையத்துடன் ஒதுக்கப்படாவிட்டால்.

மூல: xmodulo & டாஸ்கெட் மேன் பக்கங்கள்.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   பீட்டர்செகோ அவர் கூறினார்

    நல்ல பதிவு :).

  2.   லூயிஸ் அவர் கூறினார்

    நல்ல பதிவு ஆனால் ட்ரோலிங் ஆவி இல்லாமல் ...

    ஒரு குறிப்பிட்ட கர்னலுக்கு ஒரு நிரலை ஒதுக்குவதன் பயன் என்ன ???

    நான் என்ன சொல்கிறேன் என்றால்; உங்களிடம் 12 கோர்களைக் கொண்ட கணினி இருந்தால், தர்க்கரீதியான விஷயம் என்னவென்றால், அந்த 12 கோர்களைப் பயன்படுத்தி ஒரு குறிப்பிட்ட நிரல் செயல்படுத்தப்பட வேண்டும், மேலும் அதை மட்டுப்படுத்தாமல் இருப்பதால், நாங்கள் அதிக செயல்திறனைப் பெறுவோம்.

    ஒரு செயல்முறையை ஒரு குறிப்பிட்ட கர்னலுக்கு ஒதுக்க வேண்டாம், அதன் பிரத்யேக பயன்பாட்டை ஒரு குறிப்பிட்ட நிரலுக்கு விட்டுவிட அனுமதிக்கிறது.

    1.    jvk85321 அவர் கூறினார்

      நீங்கள் குறிப்பிடுவதை இது அர்த்தப்படுத்துகிறது, திட்டமிடுபவர் அனைத்து கோர்களையும் பயன்படுத்த அனுமதிப்பதன் மூலம், வளங்கள் சிறப்பாக சீரானவை, ஆனால் சில நேரங்களில் ஒரு குறிப்பிட்ட பணியுடன் ஒரு மெய்நிகர் இயந்திரத்தை இயக்குவது போன்ற ஒரு பிரத்யேக கோர் தேவைப்படுகிறது, இல்லாதபோது அந்த இயந்திரத்தின் செயல்திறன் கணிசமாக மேம்படும் ஒதுக்கப்பட்ட கர்னலில் இயங்கும் கூடுதல் செயல்முறைகள்.

      atte
      jvk85321

      1.    லினக்ஸ் பயன்படுத்தலாம் அவர் கூறினார்

        சரியான! நன்றி, ஜே.வி.கே! 🙂

      2.    lf அவர் கூறினார்

        ஆனால் நீங்கள் மெய்நிகர் கணினியை உருவாக்கும்போது, ​​ஒதுக்கப்பட்ட CPU இன் அளவைத் தேர்வு செய்யும்படி அது கேட்கிறது ... இறுதியில் இயக்க முறைமை இதைத் தவிர்த்து, அனைத்து CPU களில் செயல்படுத்தினால் இந்த மதிப்பைத் தேர்ந்தெடுப்பதன் பயன் என்ன ... அங்கே உதாரணம் சிறந்ததல்ல ...

        விண்டோஸ் 8.1 x64, AMD மற்றும் பயர்பாக்ஸில் ஃப்ளாஷ் வேலை செய்ய, ஃப்ளாஷ் ஒரு CPU இல் மட்டுமே இயங்குகிறது என்பதை தேர்வு செய்ய பரிந்துரைக்கப்பட்டது, இருப்பினும் இது எனக்கு வேலை செய்யவில்லை. வெவ்வேறு டி.இ.யின் பணி மேலாளர்களிடம் (அல்லது ஏற்கனவே இல்லையென்றால்) அதைச் சேர்த்தால் அல்லது குறைந்தபட்சம் கே.டி.இ.

      3.    lf அவர் கூறினார்

        ஆ, கருத்தின் முடிவை நான் புரிந்து கொள்ளவில்லை ... ஆனால் அதற்காக, மெய்நிகர் கணினியை இயக்கும் CPU இல் உள்ள அனைத்து செயல்முறைகளும் தடை செய்யப்பட வேண்டும். அல்லது அவற்றை மற்ற CPU களுக்கு ஒதுக்குங்கள். சுவாரஸ்யமான மற்றும் நல்ல கருத்து.

    2.    பெர்னாண்டோ அவர் கூறினார்

      மேதை சூப்பர் கம்ப்யூட்டர்களை உருவாக்க பயன்படுகிறது

  3.   லூயிஸ் அவர் கூறினார்

    அது புரிந்து கொள்ளப்படுகிறது.

    தெளிவுபடுத்தியதற்கு நன்றி.

  4.   டெக் அவர் கூறினார்

    ஒரு குறிப்பிட்ட நிரலுக்காக ஒரு கர்னலை முன்பதிவு செய்யும் போது, ​​மரணதண்டனை நூல்களுடன் என்ன நடக்கும்? நீங்கள் அதை HT உடன் கர்னலுடன் செய்தால், அது நிரலுக்கு 2 மரணதண்டனை நூல்களை ஒதுக்குகிறது.

  5.   ஸ்விச்சர் அவர் கூறினார்

    இந்த கட்டளை பல கோர்களைக் கொண்ட கணினிகளில் மிகவும் பயனுள்ளதாகத் தெரியவில்லை, ஆனால் இரட்டை கோர் உள்ள நம்மவர்களுக்கு இது மிகவும் நடைமுறைக்குரியது. எடுத்துக்காட்டாக, நான் ஒரு விளையாட்டு வைத்திருக்கிறேன், நான் திறக்கும்போது அது அனைத்து செயலி கோர்களையும் பயன்படுத்துகிறது, மேலும் CPU தேவைப்படும் பிற நிரல்களும் என்னிடம் இருந்தால் (பெரிய கோப்புகளில் grep உடன் சில தேடல் போன்றவை) பின்னர் கணினி குறைகிறது. கோர்களில் ஒன்றை மட்டுமே பயன்படுத்த விளையாட்டைக் கட்டுப்படுத்துவது போல தீர்வு எளிதானது.
    நான் எல்.எஃப் உடன் உடன்படுகிறேன், அவர்கள் இதை பணி மேலாளர்களுடன் ஒருங்கிணைக்க வேண்டும் (நான் இதுவரை ஜென்டூவில் முயற்சித்தேன், அது எதுவும் இல்லை என்று நான் நினைக்கிறேன்), குறிப்பாக விண்டோஸில் இது எக்ஸ்பிக்குப் பிறகு இருக்கும் ஒன்று (ஒரு செயல்முறையில் வலது கிளிக்> "உறவை அமைக்கவும் ...") ஆனால் சில காலங்களுக்கு முன்பு பின்வரும் ஸ்கிரிப்டைக் கண்டேன், இது பணித்தொகுப்பை இன்னும் கொஞ்சம் உள்ளுணர்வுடன் மாற்றும் (முதலில் வெளியிடப்பட்டது இங்கே மேலும் சில சந்தர்ப்பங்களில் கூட கோர்களின் பயன்பாட்டை நிர்வகிக்க வேண்டியது அவசியம்):
    #!/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

    சில மாற்றங்களுடன், செயல்பாட்டின் பெயரை PID க்கு பதிலாக குறிக்கலாம் (அல்லது அது இரண்டையும் ஏற்றுக்கொள்கிறது மற்றும் அந்த அளவுரு ஒன்று அல்லது மற்றொன்று இருக்கும்போது அது தீர்மானிக்கிறது).

  6.   ஜோர்ஸ் அவர் கூறினார்

    புதிய பயனர்களுக்கான பணித்தொகுப்பிற்கான வரைகலை இடைமுகம் இல்லை, அது நன்றாக இருக்கும்