Naujas 4 eilučių pleistras, kuris gali labai padidinti jūsų sistemos našumą

Trumpai tariant, prieš kelias dienas vienas iš branduolio kūrėjų įkėlė pataisą (iš 200 kodo eilučių), o tai leido žymiai pagerinti (beveik 10 kartų) sistemos našumą, ypač atliekant daugiafunkcinį darbą atliekant sunkią užduotį (pvz., kompiliuojant branduolį). Linus pasveikino šį kūrėją už puikų indėlį. Tačiau „Red Hat“ kūrėjas, Lennar Poettering nesutiko su šio patobulinimo įgyvendinimu tiesiogiai iš branduolio; Jam buvo geriau atlikti vartotojo erdvės pakeitimus (~/.bashrc). Linus supyko ir priekaištavo šiam kūrėjui, sakydamas, kad rezultatai kalba patys už save. Lenaras, užuot atsakęs šiurkščiais žodžiais, atsisėdo ir sumanė alternatyva (kuriai nereikia pataisyti branduolio) ir kuri užima tik 4 eilutes. Trumpai tariant, Linas buvo uždarytas… 

Pastaba: šiam metodui reikalingas Linux branduolio (cgroups) užduočių grupių palaikymas, tai yra, jį gali taikyti tik vartotojai, kurių branduolys yra didesnis nei 2.6.36.

Kaip užklijuoti pleistrą „Fedora“.

1. Redaguokite failą ~/.bashrc.

gedit ~ / .bashrc

2. Įklijuokite šį kodą failo pabaigoje:

jei [ "$PS1" ] ; tada
mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$
echo $$ > /sys/fs/cgroup/cpu/user/$$/tasks
fi

3. Vykdykite šias komandas:

mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user

Kaip pritaikyti pleistrą Ubuntu

Ubuntu viskas yra šiek tiek sudėtingesnė...

1. Redaguokite failą rc.vietinis su šia komanda:

sudo gedit /etc/rc.local

ir įklijuokite prieš tai, kur sakoma „išeiti 0“, taip:

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

2. Išsaugokite failą ir suteikite jam vykdyti leidimus:

sudo chmod +x /etc/rc.local

3. Redaguokite failą ~ / .bashrc:

gedit ~ / .bashrc

4. Įklijuokite šį kodą failo pabaigoje:

jei [ "$PS1" ] ;
tada mkdir -m 0700 /dev/cgroup/cpu/user/$$
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi

5. Pakeiskite failą cgroup_clean:

sudo gedit /usr/local/sbin/cgroup_clean

6. Įklijuokite šį kodą failo pabaigoje:

#! / Bin / sh
if [ "$*" != "/vartotojas" ]; tada
rmdir /dev/cgroup/cpu/$*
fi

7. Išsaugokite failą ir suteikite jam vykdyti leidimus:

sudo chmod +x /usr/local/sbin/cgroup_clean

8. Perkraukite sistemą.

Pastaba: jei pamatysite aplanką /dev/cgroup/, pastebėsite reikšmingą kelių užduočių valdymo pagerėjimą.

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Talskartas sakė

    Radau Arch instrukcijas, jos yra čia: http://pastebin.com/raw.php?i=sHRYRuAN

    Savo ruožtu užklijavau pleistrą, apskritai didelio pagerėjimo nepastebiu, bet slenkant po internetinius puslapius pastebiu didelį pasikeitimą, jie tikrai pirmą kartą veikia sklandžiai!!! =)

  2.   Panaudokime „Linux“ sakė

    Puiku! Labai ačiū, kad dalinatės!
    Ar sakiau, kad ieškome žmonių, kurie tinklaraščiams naudoja Arch? Jei susidomėjote, rašykite mums el naudokime linux@gmail.com
    Didelis apkabinimas! Paulius.

  3.   Talskartas sakė

    Dėkojame už pakvietimą, toliau tęsime el. paštu 😉

  4.   Talskartas sakė

    Atsitiktinai nėra „Archlinux“ instrukcijų, tiesa? 🙂

  5.   Panaudokime „Linux“ sakė

    Aš jų neradau. Bet kažkas man sako, kad jis tikriausiai labiau panašus į Fedora. Kita vertus, reikia atsižvelgti į tai, kad kadangi kiekvienas stato Arką kaip nori, galbūt tai turės įtakos tvarkai, kurios reikia laikytis...

  6.   Talskartas sakė

    Čia radau, kaip juos pritaikyti „Archlinux“, jis yra gana panašus į „Fedora“: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol ir Tur sakė

    bash: /dev/cgroup/cpu/user/$/tasks: Nėra tokio failo ar katalogo

    Vykdžiau šias instrukcijas ir ji man vis praneša šią klaidą atidarant AMD64 terminalą x, jei ji turi ką nors bendro su juo

  8.   Miquel Mayol ir Tur sakė

    Aš jau radau, prašau Pablo pataisyti http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Ką jūs turite padaryti Ubuntu, o ne tai, ką įdėjote, yra:

    sudo gedit /usr/local/sbin/cgroup_clean

    ir įdėk tai:

    #! / Bin / sh
    if [ «$*» != «/vartotojas» ]; tada
    rmdir /dev/cgroup/cpu/$*
    fi

  9.   Panaudokime „Linux“ sakė

    Pasiruošę! Pataisyta! Ačiū!

  10.   Panaudokime „Linux“ sakė

    Tai tiesa! Ačiū, kad priminėte!
    Aš tik pridėjau tą paaiškinimą įrašo pradžioje.
    Apkabinimas! Paulius.

  11.   dasinex sakė

    Tiksliau, kokią naudą gausiu kaip vartotojas ir kokie našumo patobulinimai bus matomi mano sistemoje.

  12.   Panaudokime „Linux“ sakė

    Viskas vyksta daug greičiau. Tačiau skirtumai tikrai „pasimato“, kai darai sunkią užduotį ir tuo pat metu nori atlikti kitus. Pavyzdžiui, diegiate kelias programas arba kompiliuojate branduolį arba redaguojate sunkų vaizdo įrašą ir tuo pat metu norite naršyti internete ar žiūrėti filmą ir pan.

  13.   Panaudokime „Linux“ sakė

    Praneškite man, jei sugalvosite, kaip įdiegti pataisą Arch. Bandysiu paleisti tą, kuris veikia Fedoroje.
    Apkabink! Paulius.

  14.   Panaudokime „Linux“ sakė

    Manau, tai priklauso nuo to, kaip naudojate kompiuterį. Jei beveik nesinaudosite internetu ir lengvu teksto redaktoriumi... skirtumo „nepajusite“. Kita vertus, jei esate panašus į mane ir atliekate sunkias užduotis (pvz., konvertuojate vaizdo įrašus, kompiliuojate branduolį ir pan.) naršydami internete ar žiūrėdami filmus, pastebėsite skirtumą.

  15.   Sundaypv sakė

    Atlikęs visus veiksmus, atidaręs terminalą visada gaunu:
    mkdir: negali sukurti katalogo „/dev/cgroup/cpu/user/1844“: failas arba katalogas neegzistuoja
    bash: /dev/cgroup/cpu/user/1844/tasks: tokio failo ar katalogo nėra
    bash: /dev/cgroup/cpu/user/1844/notify_on_release: Nėra tokio failo ar katalogo
    domingopv @ pc1: ~ $
    Viskas veikia gerai net terminalas, ar aš padariau kažką ne taip?

  16.   Panaudokime „Linux“ sakė

    Mmmm... Aš nuoširdžiai nežinau, kas tai galėtų būti. Tačiau man susidaro įspūdis, kad labai tikėtina, kad kai kuriuos veiksmus atlikote neteisingai, ypač 5 ir naujesnius veiksmus. Pabandykite juos pakartoti arba įsitikinkite, kad padarėte teisingai. Tai viskas, apie ką kol kas galvoju.
    Didelis apkabinimas! Paulius.

  17.   Sundaypv sakė

    Iš naujo įdiegiau „maverick“ ir iš naujo įdiegiau pataisą, o dabar gaunu šiuos dalykus.
    mkdir: negali sukurti katalogo „/dev/cgroup/cpu/user/1678“: failas arba katalogas neegzistuoja
    bash: /dev/cgroup/cpu/user/1678/tasks: tokio failo ar katalogo nėra
    bash: /dev/cgroup/cpu/user/1678/notify_on_release: Nėra tokio failo ar katalogo
    domingopv @ pc1: ~ $

  18.   Panaudokime „Linux“ sakė

    Oi... Aš nuoširdžiai nežinau, kas tai galėtų būti. Man tai puikiai veikė.
    Kažkas man sako, kad cgroup išvalymas atliktas netinkamai. Štai kodėl aš primygtinai reikalavau, kad pamatytumėte 5 žingsnį ir toliau.
    Cheers! Paulius.

  19.   aš nesakau sakė

    O dieve, įspūdinga, aš galiu žiūrėti 1080p flash vaizdo įrašus su pasyviu Nvidia 8400, turiu galvoje, blogai blogai, PUIKAI, visi centriniai procesoriai veikia, nuostabus uffff, koks patobulinimas, daug geriau, turiu Ubuntu 10.04 😀 Puiku , vaizdo įrašai man tinka hahaha 😀

  20.   Delano sakė

    Koks rc.local? Yra keletas, kuris iš jų? Sveikinimai.

  21.   Panaudokime „Linux“ sakė

    Aš tiesiog parašiau komandas, nurodytas 4 punkte. Jums nereikia to kopijuoti į failą, o vykdyti tas komandas.
    Cheers! Paulius.

  22.   GNU / Linux patarimai sakė

    Tai prastai paaiškinta.

    Ką reikia padaryti, tai redaguoti rc.local failą naudojant:

    sudo gedit /etc/rc.local

    turite įklijuoti viduje (prieš išeinant 0):

    mkdir -p /dev/cgroup/cpu
    mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
    mkdir -m 0777 /dev/cgroup/cpu/user
    echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

    Tai problema. Tie žingsniai menkai paaiškinti.

  23.   Panaudokime „Linux“ sakė

    Tu teisus! Jame aiškiai parašyta: „Redaguoti rc.local failą“. Trūko komandos tai padaryti (kurios kai kurie gali nežinoti). Tuoj pridėsiu.
    Ačiū už pranešimą! Sveikinimai! Pablo.

  24.   Aespinoza sakė

    Kokia būtų procedūra PCLinuxOs?

  25.   Panaudokime „Linux“ sakė

    Tiesa ta, kad nežinau…
    Jei sužinosite, nepamirškite pasidalinti duomenimis su likusiais!
    Labai ačiū!
    Cheers! Paulius.

  26.   gonho sakė

    Ar man taip atrodo, ar nepateikėte jokios nuorodos, iš kur tai gavote? Ar galėtumėte man pasakyti šaltinį?

    Ačiū

  27.   Panaudokime „Linux“ sakė

    Vieno šaltinio nėra. Ieškojau, kaip tai padaryti, iš įvairių šaltinių ir iš savo asmeninės patirties. Apskritai galiu pasakyti, kad šaltiniai yra milijonai tinklaraščių, kuriuose buvo atkurtos šios naujienos. Ieškokite "200 eilučių linux kernel patch" ir pamatysite apie ką aš kalbu. Tiksliai nepamenu, bet Ubuntu dalis galėjo būti gauta iš WebUpd8; ne taip su Fedora.

  28.   0921 sakė

    Neseniai esu Ubuntu 64 bitų vartotojas ir, kai pamačiau šį patarimą, pradėjau tyrinėti, o dabartinis branduolys, kurį turiu, yra 2.6.32-27 pagal įrašą, ši pataisa gali būti taikoma tik branduoliams, kurie yra aukštesni nei arba lygus 2.6.36. Mano klausimas yra toks, ar šis pakeitimas veikia tik 32 bitų platinimui, ar mano dabartinėje distribucijoje branduolį galima atnaujinti į 2.6.36?

    Ačiū už visą informaciją svetainėje, puikią medžiagą.

  29.   Panaudokime „Linux“ sakė

    Šis pakeitimas vienodai veikia 32 ir 64 bitams.
    Cheers! Paulius.

  30.   Ponas Tuxito sakė

    į klausimą, ir ar tai nesukels netvarkos su vėlesniu atnaujinimu?
    Jei nepavyktų gerai, kas būtų blogiausia, kas gali nutikti?
    (matote, kad tik pereinant nuo Ubuntu 10.04 į 10.10 viskas sugenda)

  31.   jesuslara sakė

    Pirmas dalykas, kurį reikėtų paaiškinti (siekiant išvengti neatsakingo metodo naudojimo), yra tai, kad jam reikalingas Linux branduolio (cgroups) užduočių grupių palaikymas, tai yra, šį metodą gali taikyti tik vartotojai, kurių branduolys didesnis nei 2.6.36. tobulinimas.