Nová štvorriadková oprava, ktorá môže výrazne zvýšiť výkon vášho systému

Aby bol dlhý príbeh krátky, pred pár dňami jeden z vývojárov jadra nahral opravu (200 riadkov kódu), ktoré umožnili výrazne (takmer 10-násobne) zlepšiť výkon systému, najmä keď sa jedná o multitasking počas vykonávania náročnej úlohy (napríklad kompilácia jadra). Linus zablahoželal tomuto vývojárovi k veľkému prínosu. Avšak vývojár Red Hat, Lennar Poettering nesúhlasil s implementáciou tohto vylepšenia priamo z jadra; bolo pre neho lepšie vykonať zmeny v užívateľskom priestore (~ / .bashrc). Linus sa nahneval a nadával tomuto vývojárovi, keď mu povedal, že výsledky hovoria za všetko. Lennar namiesto tvrdých slov odpovedal, sadol si a vymyslel alternatíva (ktorá nemusí opravovať jadro) a ktorá zaberá iba 4 riadky. Nakoniec zavreli Linusa ... 

Poznámka: Táto metóda vyžaduje podporu pre skupiny úloh v jadre Linuxu (cgroups), to znamená, že ju môžu používať iba používatelia s jadrom vyšším ako 2.6.36.

Ako použiť opravu vo Fedore

1. - Upravte súbor ~ / .bashrc.

gedit ~ / .bashrc

2. - Vložte nasledujúci kód na koniec súboru:

ak [„$ PS1“]; potom
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi

3. - Spustite nasledujúce príkazy:

mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / užívateľ

Ako použiť opravu v Ubuntu

V Ubuntu sú veci trochu komplikovanejšie ...

1. - Upravte súbor rc.local pomocou tohto príkazu:

sudo gedit /etc/rc.local

a prilepte pred miesto, kde sa hovorí „výstup 0“, toto:

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. - Uložte súbor a udelte mu oprávnenie na vykonávanie:

sudo chmod + x /etc/rc.local

3. - Upravte súbor ~ / .bashrc:

gedit ~ / .bashrc

4. - Vložte nasledujúci kód na koniec súboru:

ak [„$ PS1“];
potom mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5. - Upravte súbor cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6. - Vložte nasledujúci kód na koniec súboru:

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

7. - Uložte súbor a udelte mu oprávnenie na vykonávanie:

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

8. - Reštartujte systém.

Poznámka: ak uvidíte priečinok / dev / cgroup /, všimnete si značné zlepšenie v správe multitaskingu.

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   thalskarth dijo

    Našiel som pokyny pre Arch, sú tu: http://pastebin.com/raw.php?i=sHRYRuAN

    Pokiaľ ide o mňa, použil som opravu, veľa vylepšení si všeobecne nevšimnem, ale ak si všimnete veľkú zmenu pri posúvaní webových stránok, sú skutočne prvýkrát tekuté !!! =)

  2.   Použime Linux dijo

    Skvelé! Ďakujem pekne za zdieľanie!
    Povedal som ti, že hľadáme ľudí, ktorí používajú Arch na blogovanie? Ak máte záujem napíšte na poďme použiť linux@gmail.com
    Veľké objatie! Pavla.

  3.   thalskarth dijo

    Ďakujeme za pozvanie, potom budeme pokračovať poštou a potom 😉

  4.   thalskarth dijo

    Náhodou nebudú žiadne pokyny pre Archlinux, nie? 🙂

  5.   Použime Linux dijo

    Nenašiel som ich. Niečo mi však hovorí, že to je skôr Fedora. Na druhej strane si treba uvedomiť, že pretože každý zhromažďuje Arch, ako chce, možno to ovplyvní postup, ktorým sa treba riadiť ...

  6.   thalskarth dijo

    Tu som zistil, ako ich použiť v Archlinuxe, je to dosť podobné ako pri fedore: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol v Tur dijo

    bash: / dev / cgroup / cpu / user / $ / tasks: Súbor alebo adresár neexistuje

    Postupoval som podľa týchto pokynov a stále mi hovorí o tejto chybe pri otváraní terminálu AMD64 x, ak má niečo spoločné

  8.   Miquel Mayol v Tur dijo

    Už som to našiel, prosím, opravte to Pablo http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Čo robiť v ubuntu - namiesto toho, čo zadáte - je:

    sudo gedit / usr / local / sbin / cgroup_clean

    a vložte toto:

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

  9.   Použime Linux dijo

    Pripravený! Opravené! Ďakujem!

  10.   Použime Linux dijo

    Je to pravda! Ďakujem za pripomenutie!
    Toto objasnenie som práve pridal na začiatku príspevku.
    Objatie! Pavla.

  11.   dasinex dijo

    Konkrétne, aké výhody ako používateľ získam a aké zlepšenia výkonu sa v mojom systéme prejavia.

  12.   Použime Linux dijo

    Všetko ide oveľa rýchlejšie. Rozdiely sa však skutočne „vidia“, keď robíte náročnú úlohu a chcete robiť súčasne ďalšie úlohy. Napríklad prevádzkujete inštaláciu niekoľkých programov alebo kompilujete jadro alebo upravujete ťažké video a zároveň chcete surfovať po internete alebo pozerať film atď.

  13.   Použime Linux dijo

    Dajte mi vedieť, ak zistíte, ako implementovať opravu v Arche. Skúsil by som spustiť ten, ktorý funguje vo Fedore.
    Objať! Pavla.

  14.   Použime Linux dijo

    Myslím, že to závisí od toho, ako používate počítač. Ak ledva používate internet a nejaký ľahký textový editor ... rozdiel „nepocítite“. Na druhej strane, ak ste ako ja a robíte náročné práce (napríklad prevádzanie videí, kompilácia jadra atď.) Pri prehľadávaní internetu alebo sledovaní filmov, môžete spoznať rozdiel.

  15.   Dominopv dijo

    Po všetkých krokoch, keď otvorím terminál, dostanem vždy nasledovné:
    mkdir: Nie je možné vytvoriť adresár "/ dev / cgroup / cpu / user / 1844": Súbor alebo adresár neexistuje
    bash: / dev / cgroup / cpu / user / 1844 / tasks: Súbor alebo adresár neexistuje
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: súbor alebo adresár neexistuje
    domingopv @ pc1: ~ $
    Všetko funguje dobre aj terminál, urobili ste niečo zle?

  16.   Použime Linux dijo

    Hmm ... naozaj neviem, čo to môže byť. Mám však dojem, že je veľmi pravdepodobné, že ste niektoré kroky neurobili dobre, najmä od 5 rokov. Skúste ich zopakovať alebo sa ubezpečte, že máte pravdu. To je zatiaľ všetko, na čo si myslím.
    Veľké objatie! Pavla.

  17.   Dominopv dijo

    Preinštalujte maverick a znova nainštalujte opravu a teraz dostanem nasledujúce.
    mkdir: Nie je možné vytvoriť adresár "/ dev / cgroup / cpu / user / 1678": Súbor alebo adresár neexistuje
    bash: / dev / cgroup / cpu / user / 1678 / tasks: Súbor alebo adresár neexistuje
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: súbor alebo adresár neexistuje
    domingopv @ pc1: ~ $

  18.   Použime Linux dijo

    Uyy .. naozaj neviem, čo to môže byť. Pre mňa to fungovalo perfektne.
    Niečo mi hovorí, že čistenie cgroup nefunguje dobre. Preto som trval na tom, aby ste to videli od kroku 5 ďalej.
    Na zdravie! Pavla.

  19.   Nepoviem dijo

    Matka, pôsobivé, vidím na pasívnej nvidii 1080 videozáznamy s rozlíšením 8400p, myslím, zlé, zlé, PERFEKTNE, cpus funguje, úžasné uffff, ktoré sa zlepšuje, je oveľa lepšie, mám Ubuntu 10.04 😀 tak dobrý, videá sú pre mňa dobré hahaha 😀

  20.   Delano dijo

    Čo rc.local? Je ich niekoľko, čo je to? S pozdravom.

  21.   Použime Linux dijo

    Práve som napísal príkazy uvedené v bode 4. Nemusíte ich kopírovať do súboru, ale spustiť ich.
    Na zdravie! Pavla.

  22.   Tipy pre GNU / Linux dijo

    Je to zle vysvetlené.

    Musíte upraviť súbor rc.local pomocou:

    sudo gedit /etc/rc.local

    Musíte vložiť dovnútra (pred výstupom 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

    To je problém. Tieto kroky sú zle vysvetlené.

  23.   Použime Linux dijo

    Máš pravdu! Jasne hovorí: „upravte súbor rc.local.“ Čo chýbalo k pridaniu, je príkaz na vykonanie takejto veci (o čom niektorí možno nevedia). Pridávam to hneď teraz.
    Ďakujeme za upozornenie! Na zdravie! Pavla.

  24.   aespinoza dijo

    Aký by bol postup v PCLinuxOs?

  25.   Použime Linux dijo

    Pravda je, že neviem ...
    Ak zistíte, nezabudnite zdieľať údaje s ostatnými!
    Ďakujem moc!
    Na zdravie! Pavla.

  26.   gonho dijo

    Zdá sa mi, alebo ste neuviedli žiadny odkaz, odkiaľ ste to dostali? Mohli by ste mi povedať zdroj?

    vďaka

  27.   Použime Linux dijo

    Neexistuje jediný zdroj. Hľadal som, ako to urobiť, z rôznych zdrojov a z vlastnej osobnej skúsenosti. Všeobecne vám môžem povedať, že zdrojmi sú milióny blogov, ktoré túto správu reprodukovali. Hľadajte „linky 200 s linuxovým jadrom“ a uvidíte, o čom hovorím. Nepamätám si to presne, ale časť Ubuntu mohla byť získaná z WebUpd8; nie tak pre Fedoru.

  28.   luckys0921 dijo

    Som používateľom nie tak dávno, ubuntu 64 bit, a keď vidím tento tip, začnem skúmať a súčasné jadro, ktoré mám, je podľa príspevku 2.6.32-27, túto opravu je možné použiť iba na jadrá, ktoré sú vyššie alebo rovné 2.6.36 Moja otázka je, či táto zmena funguje iba pre 32 bitové distribúcie alebo v mojom súčasnom distribúcii je možné jadro aktualizovať na 2.6.36?

    Ďakujeme za všetky informácie na webe, vynikajúci materiál.

  29.   Použime Linux dijo

    Táto zmena funguje rovnako pre 32 aj 64 bitov.
    Na zdravie! Pavla.

  30.   Pán Tuxito dijo

    na otázku, a to by sa nemiešalo s nejakou neskoršou aktualizáciou?
    Keby to nedopadlo dobre, čo by bolo najhoršie, čo sa mohlo stať?
    (Vidíte, že potom už len prechod z Ubuntu 10.04 na 10.10 všetko zrúti)

  31.   jesuslara dijo

    Prvá vec, ktorú je potrebné objasniť (aby sa zabránilo nezodpovednému použitiu metódy) je, že vyžaduje podporu pre skupiny úloh v jadre Linuxu (cgroups), to znamená, že túto metódu môžu použiť iba používatelia s jadrom vyšším ako 2.6.36. vylepšenia.