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.
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é !!! =)
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.
Ďakujeme za pozvanie, potom budeme pokračovať poštou a potom 😉
Náhodou nebudú žiadne pokyny pre Archlinux, nie? 🙂
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ť ...
Tu som zistil, ako ich použiť v Archlinuxe, je to dosť podobné ako pri fedore: http://pastebin.com/raw.php?i=sHRYRuAN
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é
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
Pripravený! Opravené! Ďakujem!
Je to pravda! Ďakujem za pripomenutie!
Toto objasnenie som práve pridal na začiatku príspevku.
Objatie! Pavla.
Konkrétne, aké výhody ako používateľ získam a aké zlepšenia výkonu sa v mojom systéme prejavia.
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ď.
Dajte mi vedieť, ak zistíte, ako implementovať opravu v Arche. Skúsil by som spustiť ten, ktorý funguje vo Fedore.
Objať! Pavla.
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.
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?
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.
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: ~ $
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.
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 😀
Čo rc.local? Je ich niekoľko, čo je to? S pozdravom.
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.
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é.
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.
Aký by bol postup v PCLinuxOs?
Pravda je, že neviem ...
Ak zistíte, nezabudnite zdieľať údaje s ostatnými!
Ďakujem moc!
Na zdravie! Pavla.
Zdá sa mi, alebo ste neuviedli žiadny odkaz, odkiaľ ste to dostali? Mohli by ste mi povedať zdroj?
vďaka
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.
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.
Táto zmena funguje rovnako pre 32 aj 64 bitov.
Na zdravie! Pavla.
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)
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.