Si të caktoni një program në një bërthamë të CPU-së duke përdorur Taste

Ndërsa procesorët me shumë bërthama bëhen gjithnjë e më të zakonshëm në servera, laptopë ose PC desktop, madje edhe pajisje mobile, gjithnjë e më shumë aplikacione optimizohen për këtë lloj sistemi. Sidoqoftë, ndonjëherë mund të jetë e dobishme të lidhni një program ose proces me një ose më shumë bërthama specifike. Le të shohim se si ta marrim atë ...

Instaloni detyrat

Mjeti i Taste-it është pjesë e paketës "util-linux". Shumica e shpërndarjeve të Linux vijnë me paketën të instaluar paraprakisht. Në rast se detyra nuk është e disponueshme, është e mundur ta instaloni si më poshtë:

En Debian / Ubuntu dhe derivatet:

sudo apt-get instaloni util-linux

En Fedora dhe derivatet:

sudo yum instalo util-linux

Shikoni afinitetin e CPU-së të një procesi ekzekutues

Për të marrë informacionin e afinitetit të CPU-së për një proces, përdorni formatin e mëposhtëm:

Taset-PID

Për shembull, për të kontrolluar afinitetin e CPU-së së një procesi me PID 2915:

detyrat -p 2915

Kthen rezultatin:

maska ​​aktuale e afinitetit pid 2915: ff

Tasetet kthen afinitetin aktual të CPU-së në një format maskë bit heksadecimal. Në shembull, afiniteti (i përfaqësuar në një maskë bit heksadecimale) korrespondon me "11111111" në format binar, që do të thotë se procesi mund të ekzekutohet në cilindo prej tetë bërthamave të ndryshme të CPU (0 deri në 7).

Biti më i ulët në një maskë bit bit heksadecimal korrespondon me ID-në bazë 0, bitin e dytë më të ulët nga e djathta në ID-në bazë 1, bitin e tretë më të ulët në ID-në 2 të bërthamës, etj Kështu, për shembull, një afinitet i CPU "0x11" përfaqëson ID-të kryesore 0 dhe 4.

Tasetet mund të shfaqin afinitetin e CPU si një listë të procesorëve në vend të një maskara bit, e cila është shumë më e lehtë për t'u lexuar. Për të përdorur këtë format, duhet të ekzekutoni grupin e detyrave me opsionin "-c". Për shembull:

detyrat -pjesë 2915

Kthen rezultatin:

Lista e prirjeve aktuale e pid 2915: 0-7

Detyroni një proces të ekzekutohet në një bërthamë specifike

Duke përdorur Taste, ju mund të caktoni një proces ekzekutimi në një bërthamë specifike të CPU. Për ta bërë këtë, duhet të përdorni formatin e mëposhtëm:

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

Për shembull, për të caktuar një proces në bërthamat 0 dhe 4, do të ekzekutoni:

detyrat -p 0x11 9030

Çfarë rezultati kthen:

maskë e afinitetit aktual të pid 9030: maskë e re e afinitetit ff pid 9030: 11

Në mënyrë ekuivalente, mund të ekzekutoni:

detyrat-kp 0,4 9030

Me opsionin "-c", ju mund të specifikoni një listë të ID-ve numerike të bërthamës, të ndara me presje, ose mund të përfshini edhe diapazone (për shembull, 0,2,5,6-10).

Nisni një program duke përdorur një bërthamë specifike

Tastiet gjithashtu lejon fillimin e një programi të ri duke përdorur një numër të bërthamave specifike. Për ta bërë këtë, duhet të përdoret në formatin e mëposhtëm:

Detyrat e KOREMASS S EX EKZEKUTUAR

Për shembull, për të filluar programin VLC në CPU core ID 0, përdorni komandën e mëposhtme:

detyrat -c 0 vlc

Kushtoji një bërthamë vetëm një programi të veçantë

Megjithëse tasket lejojnë caktimin e një programi në një bërthamë të veçantë, kjo nuk do të thotë se nuk ka programe ose procese të tjera që e përdorin atë. Për të shmangur këtë dhe për t'i kushtuar një bërthamë të tërë një programi të veçantë, duhet të përdorni parametrin e kernelit "isolcpus", i cili ju lejon të rezervoni një bërthamë gjatë fillimit.

Për ta bërë këtë, duhet të shtoni parametrin "isolcpus =" në vijën e bërthamës në GRUB. Për shembull, për të rezervuar bërthamat e ID 0 dhe 1, shtoni "isolcpus = 0,1".

Pasi të jetë bërë kjo, skeduluesi Linux nuk do të caktojë ndonjë proces të rregullt në kernelin e rezervuar, përveç nëse caktohet në mënyrë specifike me tasket.

Fuente: xmodul & faqet e detyrave të detyrave.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   peterçeko dijo

    Postim i mirë :).

  2.   Luis dijo

    Postim i mirë, por pa synimin e trolling ...

    Cila është dobia e caktimit të një programi në një bërthamë specifike ???

    Dua të them; Nëse keni një kompjuter me 12 bërthama, gjëja logjike do të ishte që një program i caktuar të ekzekutohet duke përdorur ato 12 bërthama dhe të mos e kufizojë atë pasi që në atë mënyrë ne marrim performancën më të lartë të mundshme.

    Ajo që unë shoh është e dobishme është opsioni që na lejon të mos caktojmë ndonjë proces në një bërthamë të caktuar, duke e lënë përdorimin e tij ekskluziv në një program të caktuar.

    1.    jvk85321 dijo

      Ka kuptim atë që përmendni, duke e lënë planifikuesin të përdorë të gjitha bërthamat, burimet janë më të balancuara, por nganjëherë kërkohet një bërthamë e dedikuar, siç është drejtimi i një makine virtuale me një detyrë specifike, performanca e asaj makine përmirësohet ndjeshëm kur më shumë procese që ekzekutohen në kernelin e caktuar.

      Atte
      jvk85321

      1.    le të përdorim linux dijo

        Saktë! Faleminderit, jvk! 🙂

      2.    lf dijo

        Por kur jeni duke krijuar makinën virtuale, ajo ju kërkon të zgjidhni sasinë e CPU të caktuar ... çfarë dobie ka zgjedhja e kësaj vlere nëse në fund sistemi operativ e heq këtë dhe e ekzekuton atë në të gjithë CPU-të ... Për atje shembulli nuk është më i miri ...

        Për ta bërë Flash-in të funksionojë në Windows 8.1 x64, AMD dhe Firefox është rekomanduar të zgjidhni që Flash-i të funksionojë vetëm në CPU, megjithatë nuk ka funksionuar për mua. Do të ishte gjithashtu e përshtatshme nëse e shtoni (nëse nuk është tashmë atje) tek menaxherët e detyrave të DE-ve të ndryshme, ose të paktën asaj të KDE-së.

      3.    lf dijo

        ah, nuk e kisha kuptuar fundin e komentit ... Por për këtë, të gjitha proceset në CPU që drejton makinën virtuale do të duhej të ndaloheshin. Ose caktoni ato në CPU-të e tjera. Koment interesant dhe shume i mire.

    2.    Fernando dijo

      Përdoret për të krijuar super kompjuterë gjenialë

  3.   Luis dijo

    Kuptohet.

    Faleminderit për sqarimin.

  4.   Teck dijo

    Kur rezervoni një bërthamë për një program specifik, çfarë ndodh me fijet e ekzekutimit? Në rastin kur e bëni atë me një bërthamë me HT, ai rezervon 2 fije ekzekutimi për programin.

  5.   Më e zezë dijo

    Kjo komandë mund të mos duket shumë e dobishme në kompjuterë me disa bërthama, por për ata prej nesh që kemi një Dual Core është mjaft praktike. Për shembull, unë kam një lojë që kur e hap përdor të gjitha bërthamat e procesorit dhe nëse kam edhe programe të tjerë që kanë nevojë për CPU (siç janë disa kërkime me grep në skedarë të mëdhenj) atëherë sistemi ngadalësohet. Zgjidhja është aq e thjeshtë sa kufizimi i lojës për të përdorur vetëm njërën nga bërthamat.
    Unë gjithashtu pajtohem me lf, ata duhet ta integrojnë vërtet këtë në menaxherët e detyrave (ata që kam provuar deri më tani në Gentoo, mendoj se askush nuk e ka), veçanërisht kur në Windows është diçka që ekziston që nga XP (kliko me të djathtën mbi një proces> "Vendos afinitetin ...") por disa kohë më parë gjeta skenarin vijues që e kthen detyrat në diçka pak më intuitive (botuar fillimisht këtu dhe madje ka disa raste në të cilat është e nevojshme të menaxhohet përdorimi i bërthamave):
    #!/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

    Me disa modifikime, ai mund të tregojë emrin e procesit në vend të PID (ose që i pranon të dyja dhe se vendos kur ai parametër është një gjë apo tjetra).

  6.   jors dijo

    nuk ka asnjë ndërfaqe grafike për tasket për përdoruesit e rinj do të ishte mirë