For at gøre en lang historie kort for et par dage siden en af kerneudviklerne uploadede en patch (200 kodelinjer), der gjorde det muligt at forbedre systemets ydeevne betydeligt (næsten 10 gange), især når man beskæftiger sig med multitasking under udførelsen af en tung opgave (såsom kompilering af kernen). Linus lykønskede denne udvikler for hans store bidrag. En Red Hat-udvikler, Lennar Poettering accepterede ikke at implementere denne forbedring direkte fra kernen; det var bedre for ham at foretage ændringer i brugerrummet (~ / .bashrc). Linus blev vred og skændte denne udvikler og fortalte ham, at resultaterne talte for sig selv. I stedet for at svare med hårde ord satte Lennar sig ned og udtænkte et alternativ (der ikke behøver at lappe kernen), og som kun optager 4 linjer. I sidste ende holder de kæft Linus ... |
Bemærk: denne metode kræver understøttelse af grupper af opgaver i Linux-kernen (cgroups), det vil sige kun brugere med kernen højere end 2.6.36 kunne anvende den.
Sådan anvendes plasteret i Fedora
1.- Rediger ~ / .bashrc filen.
gedit ~ / .bashrc
2.- Indsæt følgende kode i slutningen af filen:
hvis ["$ PS1"]; derefter
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
ekko $$> / sys / fs / cgroup / cpu / user / $$ / opgaver
fi
3.- Kør følgende kommandoer:
monter -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user
Sådan anvendes plasteret i Ubuntu
I Ubuntu er tingene lidt mere komplicerede ...
1.- Rediger filen rc.lokal med denne kommando:
sudo gedit /etc/rc.local
og indsæt før, hvor der står "exit 0", følgende:
mkdir -p / dev / cgroup / cpu
monter -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / user
ekko "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
2.- Gem filen, og giv den tilladelse:
sudo chmod + x /etc/rc.local
3.- Rediger filen ~ / .bashrc:
gedit ~ / .bashrc
4.- Indsæt følgende kode i slutningen af filen:
hvis ["$ PS1"];
derefter mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
ekko "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi
5.- Rediger filen cgroup_clean:
sudo gedit / usr / local / sbin / cgroup_clean
6.- Indsæt følgende kode i slutningen af filen:
#! / Bin / sh
hvis ["$ *"! = "/ bruger"]; derefter
rmdir / dev / cgroup / cpu / $ *
fi
7.- Gem filen, og giv den tilladelse:
sudo chmod + x / usr / local / sbin / cgroup_clean
8.- Genstart systemet.
Bemærk: Hvis du ser / dev / cgroup / mappen, vil du bemærke en betydelig forbedring i multitasking-styring.
Jeg fandt instruktionerne til Arch, de er her: http://pastebin.com/raw.php?i=sHRYRuAN
For min del anvendte jeg plasteret, jeg bemærker ikke meget forbedring generelt, men hvis du bemærker en stor ændring, når du ruller på websiderne, er de virkelig flydende for første gang !!! =)
Store! Mange tak for delingen!
Har jeg fortalt dig, at vi leder efter folk, der bruger Arch til at blogge? Hvis du er interesseret, skriv til lad os bruge linux@gmail.com
Et stort knus! Paul.
Tak for invitationen, så fortsætter vi med posten derefter 😉
Under alle omstændigheder vil der ikke være nogen instruktioner til Archlinux, ikke? 🙂
Jeg fandt dem ikke. Men noget fortæller mig, at det sikkert ligner Fedora. På den anden side skal man huske på, at når alle samler Arch, som de vil, påvirker det måske proceduren, der skal følges ...
Her fandt jeg, hvordan jeg anvender dem i Archlinux, det ligner meget fedora: http://pastebin.com/raw.php?i=sHRYRuAN
bash: / dev / cgroup / cpu / user / $ / Tasks: Filen eller biblioteket findes ikke
Jeg fulgte disse instruktioner, og det fortæller mig hele tiden denne fejl, når jeg åbner AMD64 x-terminalen, hvis den har noget at gøre
Jeg har allerede fundet det, bedes du rette pablo http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html
Hvad man skal gøre i ubuntu - i stedet for hvad du lægger - er:
sudo gedit / usr / local / sbin / cgroup_clean
og sæt dette:
#! / Bin / sh
hvis ["$ *"! = "/ bruger"]; derefter
rmdir / dev / cgroup / cpu / $ *
fi
Parat! Korrigeret! Tak skal du have!
Det er sandt! Tak for at minde mig om det!
Jeg tilføjede netop denne afklaring i begyndelsen af indlægget.
Et kram! Paul.
Specifikt, hvilke fordele får jeg som bruger, og hvilke ydelsesforbedringer der ses i mit system.
Alt går meget hurtigere. Forskellene "ses" dog virkelig, når du laver en tung opgave og ønsker at udføre andre opgaver på samme tid. For eksempel kører du installationen af flere programmer, eller du kompilerer kernen eller redigerer en tung video, og på samme tid vil du surfe på internettet eller se en film osv.
Lad mig vide, hvis du finder ud af, hvordan du implementerer patch i Arch. Jeg ville prøve at køre den, der fungerer i Fedora.
Kram! Paul.
Jeg antager, at det afhænger af brugen, du giver til din computer. Hvis du næppe bruger internettet og en let teksteditor ... vil du ikke "mærke" forskellen. På den anden side, hvis du er som mig og gør tunge opgaver (såsom at konvertere videoer, kompilere kernen osv.), Mens du surfer på internettet eller ser film, kan du se forskellen.
Når jeg åbner terminalen, får jeg altid følgende:
mkdir: Kan ikke oprette mappe "/ dev / cgroup / cpu / user / 1844": Fil eller bibliotek findes ikke
bash: / dev / cgroup / cpu / user / 1844 / Tasks: Filen eller biblioteket findes ikke
bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Filen eller biblioteket findes ikke
domingopv @ pc1: ~ $
Alt fungerer fint selv terminalen, gjorde du noget forkert?
Mmmm ... Jeg ved virkelig ikke, hvad det kan være. Imidlertid får jeg det indtryk, at det er meget sandsynligt, at du ikke har gjort det godt nogle af trinene, især fra 5 og fremefter. Prøv at gentage dem eller sørg for at få dem rigtige. Det er alt, hvad jeg kan tænke på for nu.
Et stort knus! Paul.
Geninstaller maverick og geninstaller patch'en, og nu får jeg følgende.
mkdir: Kan ikke oprette mappe "/ dev / cgroup / cpu / user / 1678": Fil eller bibliotek findes ikke
bash: / dev / cgroup / cpu / user / 1678 / Tasks: Filen eller biblioteket findes ikke
bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Filen eller biblioteket findes ikke
domingopv @ pc1: ~ $
Uyy .. Jeg ved virkelig ikke, hvad det kan være. Det fungerede perfekt for mig.
Noget fortæller mig, at cgroup-oprydning ikke klarer sig godt. Derfor insisterede jeg på, at du ser fra trin 5 og fremefter.
Skål! Paul.
Mor til mig, imponerende, jeg kan se 1080p flashvideoer på en passiv nvidia 8400, jeg mener, dårlig dårlig, PERFEKT, cpus fungerer alt sammen, vidunderligt uffff, det forbedrer, det er meget bedre, jeg har Ubuntu 10.04 😀 godt, det videoer er gode for mig hahaha 😀
Hvad rc.local? Der er flere, hvilket er det? Hilsen.
Jeg skrev lige de kommandoer, der er anført i punkt 4. Du behøver ikke kopiere det til en fil, men køre disse kommandoer.
Skål! Paul.
Det er dårligt forklaret.
Hvad du skal gøre er at redigere rc.local-filen med:
sudo gedit /etc/rc.local
Du skal indsætte inde (før afkørsel 0):
mkdir -p / dev / cgroup / cpu
monter -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / user
ekko "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent
Det er problemet. Disse trin er dårligt forklaret.
Du har ret! Det står tydeligt, "rediger rc.local-filen." Hvad der manglede at tilføje, er kommandoen til at gøre sådan en ting (som nogle måske ikke ved). Jeg tilføjer det lige nu.
Tak for meddelelsen! Skål! Paul.
Hvad ville være proceduren i PCLinuxOs?
Sandheden er, at jeg ikke ved det ...
Hvis du finder ud af det, så glem ikke at dele dataene med resten!
Mange tak!
Skål! Paul.
Det forekommer mig, eller har du ikke anbragt nogen henvisning, hvorfra du har det? Kan du fortælle mig kilden?
Tak
Der er ingen enkelt kilde. Jeg ledte efter, hvordan man gjorde det fra forskellige kilder og fra min egen personlige oplevelse. Generelt kan jeg fortælle dig, at kilderne er de millioner af blogs, der gengav disse nyheder. Søg efter "patch 200 linux kernelines", og du vil se, hvad jeg taler om. Jeg kan ikke huske det nøjagtigt, men Ubuntu-delen er muligvis hentet fra WebUpd8; ikke sådan for Fedora.
Jeg er en bruger af ikke så længe siden, af Ubuntu 64 bit, og når jeg ser dette tip, begynder jeg at undersøge, og den nuværende kerne, som jeg har, er 2.6.32-27 ifølge posten, denne patch kan kun anvendes på kerner, der er højere eller lig 2.6.36 Mit spørgsmål er, om denne ændring kun fungerer for 32 bit distroer, eller kan kernen opdateres til 2.6.36 i min nuværende distro?
Tak for al information på nettet, fremragende materiale.
Denne ændring fungerer både på 32 og 64 bit.
Skål! Paul.
til et spørgsmål, og dette ville ikke ødelægge nogen senere opdatering?
Hvis det ikke gik godt, hvad ville være det værste, der kunne ske?
(Du ser, at så bare går fra en Ubuntu 10.04 til en 10.10 går alt sammen)
Den første ting, der skal afklares (for at undgå uansvarlig brug af metoden) er, at det kræver støtte til grupper af opgaver i Linux-kernen (cgroups), det vil sige, at kun brugere med Kernel større end 2.6.36 kunne anvende denne metode forbedring.