Röviden összefoglalva néhány nappal ezelőtt az egyik rendszermag-fejlesztő javítást töltött fel (200 sornyi kód), amely lehetővé tette a rendszer teljesítményének jelentős javítását (csaknem tízszeresét), különösen akkor, ha egy nehéz feladat végrehajtása során (például a kernel fordításakor) multitaskingal foglalkozunk. Linus gratulált ennek a fejlesztőnek a nagyszerű hozzájárulásért. A Red Hat fejlesztője azonban Lennar Poettering nem vállalta, hogy ezt a fejlesztést közvetlenül a kernelből hajtja végre; jobb volt, ha elvégezte a változásokat a felhasználói térben (~ / .bashrc). Linus dühös lett és elkeserítette ezt a fejlesztőt, mondván, hogy az eredmények magukért beszélnek. Lennar ahelyett, hogy kemény szavakkal válaszolt volna, leült és kitalált egy alternatíva (aminek nincs szüksége a kernel foltozására), és csak 4 sort foglal el. Végül bezárják Linust ... |
Megjegyzés: ez a módszer támogatást igényel a Linux kernel feladatcsoportjaihoz (cgroups), vagyis csak a 2.6.36-nál magasabb rendszermaggal rendelkező felhasználók alkalmazhatják.
Hogyan kell alkalmazni a javítást a Fedorában
1. - Szerkessze a ~ / .bashrc fájlt.
gedit ~ / .bashrc
2. - Illessze be a következő kódot a fájl végébe:
ha ["$ PS1"]; akkor
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / task
fi
3. - Futtassa a következő parancsokat:
mount -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user
Hogyan kell alkalmazni a javítást az Ubuntuban
Az Ubuntuban a dolgok kicsit bonyolultabbak ...
1. - Szerkessze a fájlt rc.local ezzel a paranccsal:
sudo gedit /etc/rc.local
és illessze be a "exit 0" felirat elé a következőt:
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. - Mentse a fájlt, és adjon végrehajtási engedélyeket:
sudo chmod + x /etc/rc.local
3. - Szerkessze a fájlt ~ / .bashrc:
gedit ~ / .bashrc
4. - Illessze be a következő kódot a fájl végébe:
ha ["$ PS1"];
majd mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / task
echo "1"> / dev / cgroup / cpu / user / $$ / notice_on_release
fi
5. - Módosítsa a cgroup_clean fájlt:
sudo gedit / usr / local / sbin / cgroup_clean
6. - Illessze be a következő kódot a fájl végébe:
#! / Bin / sh
ha ["$ *"! = "/ felhasználó"]; akkor
rmdir / dev / cgroup / cpu / $ *
fi
7. - Mentse a fájlt, és adjon végrehajtási engedélyeket:
sudo chmod + x / usr / local / sbin / cgroup_clean
8. - Indítsa újra a rendszert.
Megjegyzés: ha látja a / dev / cgroup / mappát, jelentős javulást fog észrevenni a többfeladatos kezelésben.
Megtaláltam az Arch utasításait, itt vannak: http://pastebin.com/raw.php?i=sHRYRuAN
A magam részéről a javítást alkalmaztam, sok javulást általában nem veszek észre, de ha nagy változást észlel a weblapok görgetésekor, akkor először folyékonyak !!! =)
Nagy! Nagyon köszönöm a megosztást!
Mondtam, hogy olyan embereket keresünk, akik Arch-ot használnak a blogoláshoz? Ha érdekel, írj nekünk használjuk a linux@gmail.com címet
Egy nagy ölelés! Pál.
Köszönöm a meghívást, akkor folytatjuk postán 😉
Véletlenül nem lesz utasítás az Archlinux-ra, igaz? 🙂
Nem találtam meg őket. De valami azt mondja nekem, hogy az inkább hasonlít a Fedora-ra. Másrészt szem előtt kell tartani, hogy mivel mindenki Arch-ot szerel, ahogy akar, talán ez befolyásolja a követendő eljárást ...
Itt találtam, hogyan kell alkalmazni őket az Archlinux-ban, ez nagyon hasonlít a fedorához: http://pastebin.com/raw.php?i=sHRYRuAN
bash: / dev / cgroup / cpu / user / $ / task: A fájl vagy könyvtár nem létezik
Követtem ezeket az utasításokat, és folyamatosan mondja ezt a hibát az AMD64 x terminál megnyitásakor, ha van valami köze
Már megtaláltam, kérlek, pablo javítsd ki http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
Mit kell tennie az ubuntuban - ahelyett, hogy feltennéd -:
sudo gedit / usr / local / sbin / cgroup_clean
és tedd ezt:
#! / Bin / sh
ha ["$ *"! = "/ felhasználó"]; akkor
rmdir / dev / cgroup / cpu / $ *
fi
Kész! Javítva! Köszönöm!
Ez igaz! Köszi, hogy emlékeztetsz!
Csak a hozzászólás elején tettem hozzá ezt a pontosítást.
Egy ölelés! Pál.
Pontosabban, milyen előnyöket fogok kapni felhasználóként, és milyen teljesítménybeli javulások lesznek láthatók a rendszeremben.
Minden sokkal gyorsabban megy. A különbségek azonban akkor "láthatók", amikor nehéz feladatokat végez, és más feladatokat is szeretne egyszerre elvégezni. Például több program telepítését futtatja, vagy a rendszermagot fordítja, vagy egy nehéz videót szerkeszt, és ugyanakkor szeretne internetezni vagy filmet nézni stb.
Mondja meg, ha megtudja, hogyan kell megvalósítani a javítást az Arch-ban. Megpróbálnám futtatni azt, amelyik a Fedorában működik.
Ölelés! Pál.
Gondolom, ez attól függ, hogyan használja a számítógépet. Ha alig használja az internetet és néhány könnyű szövegszerkesztőt ... nem fogja "érezni" a különbséget. Másrészt, ha olyan vagy, mint én, és nehéz feladatokat hajt végre (például videók konvertálását, a kernel fordítását stb.) Az internet böngészése vagy a filmnézés közben, akkor különbséget tehet.
Az összes lépés után, amikor kinyitom a terminált, mindig a következőket kapom:
mkdir: nem hozható létre "/ dev / cgroup / cpu / user / 1844" könyvtár: Fájl vagy könyvtár nem létezik
bash: / dev / cgroup / cpu / user / 1844 / task: A fájl vagy könyvtár nem létezik
bash: / dev / cgroup / cpu / user / 1844 / notice_on_release: Nem létezik fájl vagy könyvtár
domingopv @ pc1: ~ $
Minden rendben működik, még a terminál is, csináltál valamit rosszul?
Hmm ... tényleg nem tudom mi lehet. Az a benyomásom azonban, hogy nagyon valószínű, hogy nem teljesítettél jól néhány lépést, különösen 5-től kezdve. Próbálja megismételni őket, vagy győződjön meg róla, hogy jól értette őket. Egyelőre csak erre tudok gondolni.
Egy nagy ölelés! Pál.
Telepítse újra a mavericket, és telepítse újra a javítást, és most a következőket kapom.
mkdir: nem hozható létre "/ dev / cgroup / cpu / user / 1678" könyvtár: Fájl vagy könyvtár nem létezik
bash: / dev / cgroup / cpu / user / 1678 / task: A fájl vagy könyvtár nem létezik
bash: / dev / cgroup / cpu / user / 1678 / notice_on_release: Nem létezik fájl vagy könyvtár
domingopv @ pc1: ~ $
Uyy .. Igazán nem tudom mi lehet. Nekem tökéletesen működött.
Valami azt mondja nekem, hogy a csoportos takarítás nem működik jól. Ezért ragaszkodtam hozzá, hogy az 5. lépéstől kezdve látja.
Egészségére! Pál.
Édesanyám, lenyűgöző, 1080p flash videókat látok egy passzív nvidia 8400-on, úgy értem, rosszul rossz, TÖKÉLETESEN, a cpus minden működik, csodálatos uffff, ami javít, sokkal jobb, Ubuntu 10.04 😀, olyan jó, a videók jók nekem hahaha 😀
Milyen rc.local? Több van, melyik? Üdvözlettel.
Most írtam a 4. pontban felsorolt parancsokat. Ezt nem fájlba kell másolnia, hanem futtatnia kell ezeket a parancsokat.
Egészségére! Pál.
Rosszul magyarázható.
Szüksége van az rc.local fájl szerkesztésére:
sudo gedit /etc/rc.local
Be kell illesztenie (a 0. kijárat előtt):
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
Ez a probléma. Ezeket a lépéseket rosszul magyarázzák.
Igazad van! Világosan azt mondja: "szerkessze az rc.local fájlt." Hiányzott hozzáadás az a parancs, hogy ilyesmit tegyen (amiről egyesek talán nem is tudnak). Most hozzáadom.
Köszönöm az értesítést! Egészségére! Pál.
Mi lenne az eljárás a PCLinuxOs-ban?
Az az igazság, hogy nem tudom ...
Ha megtudja, ne felejtse el megosztani az adatokat a többivel!
Köszönöm szépen!
Egészségére! Pál.
Számomra úgy tűnik, vagy nem tettél semmilyen utalást onnan, ahonnan szerezted? Meg tudnád mondani a forrást?
Köszönöm
Nincs egyetlen forrás. Különböző forrásokból és saját személyes tapasztalataim alapján kerestem, hogyan lehet ezt megtenni. Általánosságban elmondhatom, hogy a források a blogok milliói, amelyek ezt a hírt reprodukálták. Keresse meg a "patch 200 linux kernel lines" szót, és meglátja, miről beszélek. Nem emlékszem pontosan, de lehet, hogy az Ubuntu részt a WebUpd8-ból szerezték be; nem így Fedora.
Nem régen használtam az ubuntu 64 bitet, és amikor meglátom ezt a tippet, elkezdek vizsgálódni, és a jelenlegi kernelem a poszt szerint 2.6.32-27, ez a javítás csak azokra a kernekre alkalmazható, amelyek A kérdésem az, hogy ez a változás csak 2.6.36 bites disztrók esetén működik-e, vagy a jelenlegi disztrómban a kernel frissíthető-e 32-ra?
Köszönöm az összes információt az interneten, kiváló anyagot.
Ez a változás 32 és 64 bit esetén egyaránt működik.
Egészségére! Pál.
kérdésre, és ez nem keverne össze semmilyen későbbi frissítést?
Ha nem sikerülne, mi lenne a legrosszabb, ami történhet?
(Látja, hogy akkor csak az Ubuntu 10.04-ről a 10.10-re haladva minden összeomlik)
Az első dolog, amit tisztázni kell (a módszer felelőtlen használatának elkerülése érdekében), hogy támogatást igényel a Linux kernelben lévő feladatok csoportjaihoz (cgroups), vagyis csak a 2.6.36-nál magasabb rendszermaggal rendelkező felhasználók alkalmazhatják ezt a módszert javulásának.