Če skrajšam zgodbo, pred nekaj dnevi eden od razvijalcev jedra je naložil popravek (200 vrstic kode), ki je omogočil znatno izboljšanje (skoraj 10-krat) zmogljivosti sistema, zlasti pri obravnavi večopravilnosti med izvajanjem težke naloge (na primer pri sestavljanju jedra). Linus je razvijalcu čestital za velik prispevek. Vendar razvijalec Red Hat, Lennar Poettering se ni strinjal, da bo to izboljšavo izvedel neposredno iz jedra; zanj je bilo bolje, da je spremenil uporabniški prostor (~ / .bashrc). Linus se je razjezil in zmerjal tega razvijalca, rekoč mu, da rezultati govorijo sami zase. Lennar je, namesto da bi odgovoril s hudimi besedami, sedel in domislil alternativa (ki ji jedra ni treba popraviti) in traja le 4 vrstice. Končno so zaprli Linusa ... |
Opomba: ta metoda zahteva podporo skupinam nalog v jedru Linuxa (cgroups), to pomeni, da bi jo lahko uporabljali samo uporabniki z jedrom, višjim od 2.6.36.
Kako uporabiti popravek v Fedori
1.- Uredite datoteko ~ / .bashrc.
gedit ~ / .bashrc
2.- Na konec datoteke prilepite naslednjo kodo:
če je ["$ PS1"]; potem
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi
3.- Zaženite naslednje ukaze:
mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user
Kako uporabiti popravek v Ubuntuju
V Ubuntuju so stvari nekoliko bolj zapletene ...
1.- Uredite datoteko rc.local s tem ukazom:
sudo gedit /etc/rc.local
in prilepite, kjer piše "izhod 0", naslednje:
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.- Shranite datoteko in ji dajte dovoljenja za izvajanje:
sudo chmod + x /etc/rc.local
3.- Uredite datoteko ~ / .bashrc:
gedit ~ / .bashrc
4.- Na konec datoteke prilepite naslednjo kodo:
če je ["$ PS1"];
potem mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi
5.- Spremenite datoteko cgroup_clean:
sudo gedit / usr / local / sbin / cgroup_clean
6.- Na konec datoteke prilepite naslednjo kodo:
# / Bin / sh
če ["$ *"! = "/ uporabnik"]; potem
rmdir / dev / cgroup / cpu / $ *
fi
7.- Shranite datoteko in ji dajte dovoljenja za izvajanje:
sudo chmod + x / usr / local / sbin / cgroup_clean
8.- Znova zaženite sistem.
Opomba: če vidite mapo / dev / cgroup /, boste opazili znatno izboljšanje upravljanja večopravilnosti.
Našel sem navodila za Arch, tukaj so: http://pastebin.com/raw.php?i=sHRYRuAN
Popravek sem sicer uporabil, na splošno ne opazim večjega izboljšanja, če pa med brskanjem po spletnih straneh opazite veliko spremembo, so prvič res tekoče !!! =)
Super! Najlepša hvala za delitev!
Sem vam rekel, da iščemo ljudi, ki uporabljajo Arch za bloganje? Če vas zanima, nam pišite pojdimo na uselinux@gmail.com
Velik objem! Paul.
Hvala za povabilo, nato bomo nadaljevali po pošti, nato 😉
Naključno ne bo navodil za Archlinux, kajne? 🙂
Nisem jih našel. Toda nekaj mi govori, da je bolj podobna Fedori. Po drugi strani pa je treba vedeti, da ker vsak sestavlja Arch, kot želi, morda to vpliva na postopek, ki ga je treba upoštevati ...
Tu sem našel, kako jih uporabiti v Archlinuxu, precej podoben je Fedora: http://pastebin.com/raw.php?i=sHRYRuAN
bash: / dev / cgroup / cpu / user / $ / tasks: Datoteka ali imenik ne obstaja
Sledil sem tem navodilom in mi vedno znova sporoča to napako pri odpiranju terminala AMD64 x, če ima kaj opraviti
Sem ga že našel, prosim pablo, popravi http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
Kaj storiti v ubuntu - namesto tega, kar ste postavili - je:
sudo gedit / usr / local / sbin / cgroup_clean
in postavite to:
# / Bin / sh
če ["$ *"! = "/ uporabnik"]; potem
rmdir / dev / cgroup / cpu / $ *
fi
Pripravljeni! Popravljeno! Hvala vam!
Res je! Hvala, da ste me spomnili!
Pravkar sem dodal to pojasnilo na začetku prispevka.
Objem! Paul.
Natančneje, kakšne koristi bom imel kot uporabnik in kakšne izboljšave zmogljivosti bodo vidne v mojem sistemu.
Vse gre veliko hitreje. Razlike pa se resnično "vidijo", ko opravljate težko nalogo in želite hkrati opravljati tudi druge naloge. Na primer, izvajate namestitev več programov ali pa sestavljate jedro ali urejate težak video, hkrati pa želite brskati po internetu ali gledati film itd.
Sporočite mi, če odkrijete, kako v Archu implementirati popravek. Poskušal bi zagnati tistega, ki deluje v Fedori.
Objem! Paul.
Mislim, da je to odvisno od uporabe računalnika. Če komaj uporabljate internet in kakšen urejevalnik lahkih besed ... razlike ne boste "začutili". Po drugi strani pa, če ste podobni meni in med brskanjem po internetu ali gledanju filmov opravljate težka opravila (na primer pretvarjanje videoposnetkov, sestavljanje jedra itd.), Lahko ugotovite razliko.
Po vseh korakih, ko odprem terminal, vedno dobim naslednje:
mkdir: ni mogoče ustvariti imenika "/ dev / cgroup / cpu / user / 1844": Datoteka ali imenik ne obstaja
bash: / dev / cgroup / cpu / user / 1844 / tasks: Datoteka ali imenik ne obstaja
bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Datoteka ali imenik ne obstaja
domingopv @ pc1: ~ $
Tudi v terminalu vse deluje v redu, ste naredili kaj narobe?
Mmmm ... res ne vem, kaj lahko je. Vendar imam vtis, da je zelo verjetno, da nekaterih korakov niste naredili dobro, zlasti od 5 dalje. Poskusite jih ponoviti ali se prepričajte, da ste jih pravilno razumeli. To je vse, kar si lahko za zdaj omislim.
Velik objem! Paul.
Znova namestite maverick in znova namestite popravek in zdaj dobim naslednje.
mkdir: ni mogoče ustvariti imenika "/ dev / cgroup / cpu / user / 1678": Datoteka ali imenik ne obstaja
bash: / dev / cgroup / cpu / user / 1678 / tasks: Datoteka ali imenik ne obstaja
bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Datoteka ali imenik ne obstaja
domingopv @ pc1: ~ $
Uyy .. Res ne vem, kaj lahko je. Zame je delovalo kot nalašč.
Nekaj mi govori, da čiščenje cgroup ne deluje dobro. Zato sem vztrajal, da vidite od 5. koraka naprej.
Na zdravje! Paul.
Moja mati, impresivno, na pasivni nvidii 1080 lahko vidim videoposnetke z bliskavico 8400p, mislim, slabo slabo, ODLIČNO, procesor deluje, čudovito uffff, to se izboljša, je veliko boljše, imam Ubuntu 10.04 😀 dober, video posnetki so zame dobri hahaha 😀
Kaj rc.local? Obstaja več, kaj je to? Pozdravi.
Pravkar sem napisal ukaze, ki so navedeni v točki 4. Tega vam ni treba kopirati v datoteko, ampak jih morate zagnati.
Na zdravje! Paul.
Slabo je razloženo.
Kar morate storiti, je urediti datoteko rc.local z:
sudo gedit /etc/rc.local
Notri morate prilepiti (pred izhodom 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
V tem je težava. Ti koraki so slabo razloženi.
Prav imaš! Jasno piše: "uredite datoteko rc.local." Manjkalo je dodati ukaz, da naredimo kaj takega (česar nekateri morda ne vedo). Zdaj ga dodam.
Hvala za obvestilo! Na zdravje! Paul.
Kakšen bi bil postopek v PCLinuxOs?
Resnica je, da ne vem ...
Če ugotovite, ne pozabite deliti podatkov z ostalimi!
Najlepša hvala!
Na zdravje! Paul.
Zdi se mi ali niste navedli nobene reference, od kod ste jo dobili? Bi mi lahko povedal vir?
hvala
Nobenega vira ni. Iskal sem, kako to narediti iz različnih virov in iz svojih osebnih izkušenj. Na splošno vam lahko rečem, da so viri milijoni spletnih dnevnikov, ki so reproducirali te novice. Poiščite "popravite 200 linij jedra linuxa" in videli boste, o čem govorim. Ne spomnim se natančno, toda del Ubuntu je bil mogoče pridobljen iz WebUpd8; ne tako kot Fedora.
Sem uporabnik nedolgo tega 64-bitnega Ubuntuja in ko vidim ta namig, začnem raziskovati in trenutno jedro, ki ga imam, je 2.6.32-27 glede na prispevek, ta popravek je mogoče uporabiti samo za jedra, ki so višje ali enake 2.6.36. Moje vprašanje je, ali ta sprememba deluje le za 32-bitne distribucijske sisteme ali je v moji trenutni distribuciji jedro mogoče posodobiti na 2.6.36?
Hvala za vse informacije na spletu, odličen material.
Ta sprememba deluje enako za 32 in 64 bitne različice.
Na zdravje! Paul.
na vprašanje in se to ne bi zamotilo s poznejšo posodobitvijo?
Če ne bi šlo dobro, kaj bi bilo najslabše, kar bi se lahko zgodilo?
(Vidite, da potem samo prehod z Ubuntu 10.04 na 10.10 vse zruši)
Prva stvar, ki jo je treba pojasniti (da bi se izognili neodgovorni uporabi metode), je, da zahteva podporo skupinam nalog v jedru Linuxa (cgroups), to pomeni, da bi to metodo lahko uporabljali le uporabniki z jedrom, večjim od 2.6.36. izboljšanja.