En ny patch med fyra rader som kraftigt kan öka prestandan i ditt system

För att göra en lång historia kort, för några dagar sedan en av kärnutvecklarna laddade upp en patch (200 rader kod) som gjorde det möjligt att förbättra systemets prestanda avsevärt (nästan tio gånger), särskilt när man hanterar multitasking under utförandet av en tung uppgift (som att kompilera kärnan). Linus gratulerade denna utvecklare för hans stora bidrag. Men en Red Hat-utvecklare, Lennar Poettering gick inte med på att implementera denna förbättring direkt från kärnan; det var bättre för honom att göra ändringarna i användarutrymmet (~ / .bashrc). Linus blev arg och hånade den här utvecklaren och berättade för honom att resultaten talade för sig själva. I stället för att svara med hårda ord satte Lennar sig ner och utformade ett alternativ (som inte behöver korrigera kärnan) och som endast upptar 4 rader. I slutändan håller de käften Linus ... 

Obs: den här metoden kräver stöd för grupper av uppgifter i Linux-kärnan (cgroups), det vill säga endast användare med Kernel högre än 2.6.36 kan använda den.

Så här applicerar du plåstret i Fedora

1.- Redigera ~ / .bashrc-filen.

gedit ~ / .bashrc

2.- Klistra in följande kod i slutet av filen:

om ["$ PS1"]; sedan
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / Tasks
fi

3.- Kör följande kommandon:

montera -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user

Så här applicerar du plåstret i Ubuntu

I Ubuntu är saker lite mer komplicerade ...

1.- Redigera filen rc.local med detta kommando:

sudo gedit /etc/rc.local

och klistra in före där det står "exit 0", följande:

mkdir -p / dev / cgroup / cpu
montera -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.- Spara filen och ge den exekveringsbehörigheter:

sudo chmod + x /etc/rc.local

3.- Redigera filen ~ / .bashrc:

gedit ~ / .bashrc

4.- Klistra in följande kod i slutet av filen:

om ["$ PS1"];
sedan mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / Tasks
eko "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5.- Ändra cgroup_clean-filen:

sudo gedit / usr / local / sbin / cgroup_clean

6.- Klistra in följande kod i slutet av filen:

#! / Bin / sh
om ["$ *"! = "/ användare"]; sedan
rmdir / dev / cgroup / cpu / $ *
fi

7.- Spara filen och ge den exekveringsbehörigheter:

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

8.- Starta om systemet.

Obs! Om du ser / dev / cgroup / mappen kommer du att märka en avsevärd förbättring av multitasking-hanteringen.

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   thalskarth sade

    Jag hittade instruktionerna för Arch, de är här: http://pastebin.com/raw.php?i=sHRYRuAN

    För min del applicerade jag plåstret, mycket förbättring märker jag inte i allmänhet, men om du märker en stor förändring när du rullar på webbsidorna är de väldigt flytande för första gången !!! =)

  2.   Låt oss använda Linux sade

    Bra! Tack så mycket för att du delar!
    Sa jag till dig att vi letar efter personer som använder Arch för att blogga? Om du är intresserad, skriv till låt oss använda linux@gmail.com
    En stor kram! Paul.

  3.   thalskarth sade

    Tack för inbjudan, sedan fortsätter vi via post sedan 😉

  4.   thalskarth sade

    Av en slump kommer det inte att finnas några instruktioner för Archlinux, eller hur? 🙂

  5.   Låt oss använda Linux sade

    Jag hittade dem inte. Men något säger mig att det är mer som Fedora. Å andra sidan bör man komma ihåg att eftersom alla monterar Arch som de vill, kanske det påverkar förfarandet som ska följas ...

  6.   thalskarth sade

    Här hittade jag hur man tillämpar dem i Archlinux, det är ganska likt fedora: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol i Tur sade

    bash: / dev / cgroup / cpu / user / $ / Tasks: Filen eller katalogen finns inte

    Jag följde dessa instruktioner och det fortsätter att berätta detta fel när jag öppnar AMD64 x-terminalen om den har något att göra

  8.   Miquel Mayol i Tur sade

    Jag har redan hittat det, snälla pablo korrigera det http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Vad man ska göra i ubuntu - istället för vad du lägger - är:

    sudo gedit / usr / local / sbin / cgroup_clean

    och sätt detta:

    #! / Bin / sh
    om ["$ *"! = "/ användare"]; sedan
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   Låt oss använda Linux sade

    Redo! Rättad! Tack!

  10.   Låt oss använda Linux sade

    Det är sant! Tack för att du påminde mig!
    Jag lade just till det förtydligandet i början av inlägget.
    En kram! Paul.

  11.   dasinex sade

    Specifikt vilka fördelar kommer jag att få som användare och vilka prestandaförbättringar som kommer att ses i mitt system.

  12.   Låt oss använda Linux sade

    Allt går mycket snabbare. Skillnaderna "syns" verkligen när du gör en tung uppgift och vill göra andra uppgifter samtidigt. Till exempel kör du installationen av flera program eller kompilerar du kärnan eller redigerar en tung video och samtidigt vill du surfa på internet eller titta på en film, etc.

  13.   Låt oss använda Linux sade

    Låt mig veta om du upptäcker hur du implementerar korrigeringsfilen i Arch. Jag skulle försöka köra den som fungerar i Fedora.
    Kram! Paul.

  14.   Låt oss använda Linux sade

    Jag antar att det beror på användningen du ger till din dator. Om du knappt använder internet och någon lätt textredigerare ... kommer du inte att "känna" skillnaden. Å andra sidan, om du är som jag och gör tunga uppgifter (som att konvertera videor, kompilera kärnan etc.) medan du surfar på internet eller tittar på filmer, kan du se skillnaden.

  15.   Domingov sade

    Efter alla stegen får jag alltid följande när jag öppnar terminalen:
    mkdir: kan inte skapa katalog "/ dev / cgroup / cpu / user / 1844": Fil eller katalog finns inte
    bash: / dev / cgroup / cpu / user / 1844 / Tasks: Filen eller katalogen finns inte
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Filen eller katalogen finns inte
    domingopv @ pc1: ~ $
    Allt fungerar bra även terminalen, gjorde du något fel?

  16.   Låt oss använda Linux sade

    Mmmm ... Jag vet verkligen inte vad det kan vara. Men jag får intrycket att det är mycket troligt att du inte har gjort bra några av stegen, särskilt från 5 och framåt. Försök att upprepa dem eller se till att du har rätt till dem. Det är allt jag kan tänka mig för nu.
    En stor kram! Paul.

  17.   Domingov sade

    Installera om maverick och installera om plåstret och nu får jag följande.
    mkdir: kan inte skapa katalog "/ dev / cgroup / cpu / user / 1678": Fil eller katalog finns inte
    bash: / dev / cgroup / cpu / user / 1678 / Tasks: Filen eller katalogen finns inte
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Filen eller katalogen finns inte
    domingopv @ pc1: ~ $

  18.   Låt oss använda Linux sade

    Uyy .. Jag vet verkligen inte vad det kan vara. Det fungerade perfekt för mig.
    Något säger till mig att cgroup-sanering inte fungerar bra. Det var därför jag insisterade på att du skulle se det från steg 5 och framåt.
    Skål! Paul.

  19.   jag säger inte sade

    Mamma till mig, imponerande, jag kan se 1080p flash-videor på en passiv nvidia 8400, jag menar, dåligt dåligt, PERFEKT, cpus fungerar allt, underbart uffff, det förbättras, det är mycket bättre, jag har Ubuntu 10.04 😀 bra, den videor är bra för mig hahaha 😀

  20.   Delano sade

    Vad rc.local? Det finns flera, vilket är det? Hälsningar.

  21.   Låt oss använda Linux sade

    Jag skrev just kommandona som anges i punkt 4. Du behöver inte kopiera det till en fil utan köra dessa kommandon.
    Skål! Paul.

  22.   GNU / Linux-tips sade

    Det är dåligt förklarat.

    Vad du behöver göra är att redigera rc.local-filen med:

    sudo gedit /etc/rc.local

    Du måste klistra in (innan avfart 0):

    mkdir -p / dev / cgroup / cpu
    montera -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

    Det är problemet. Dessa steg är dåligt förklarade.

  23.   Låt oss använda Linux sade

    Du har rätt! Det står tydligt "redigera rc.local-filen." Vad som saknades att lägga till är kommandot att göra en sådan sak (som vissa kanske inte vet om). Jag lägger till det just nu.
    Tack för meddelandet! Hälsningar! Paul.

  24.   aespinoza sade

    Vad skulle vara proceduren i PCLinuxOs?

  25.   Låt oss använda Linux sade

    Sanningen är att jag inte vet ...
    Om du får reda på det, glöm inte att dela data med resten!
    Tack så mycket!
    Skål! Paul.

  26.   gonho sade

    Det verkar för mig eller om du inte har lagt någon referens från var du fick den? Kan du berätta för mig källan?

    tack

  27.   Låt oss använda Linux sade

    Det finns ingen enda källa. Jag letade efter hur man gör det från olika källor och från min egen personliga erfarenhet. I allmänna ordalag kan jag säga att källorna är de miljontals bloggar som återskapade den nyheten. Sök efter "patch 200 linux-kärnlinjer" så ser du vad jag pratar om. Jag kommer inte ihåg exakt, men Ubuntu-delen kan ha hämtats från WebUpd8; inte så för Fedora.

  28.   luckys0921 sade

    Jag är en användare av inte så länge sedan, av Ubuntu 64 bitar och när jag ser detta tips börjar jag undersöka och den nuvarande kärnan som jag har är 2.6.32-27 enligt inlägget, den här korrigeringen kan bara appliceras på kärnor som är högre eller lika med 2.6.36 Min fråga är om den här ändringen bara fungerar för 32-bitars distributioner eller i min nuvarande distro kan kärnan uppdateras till 2.6.36?

    Tack för all information på webben, utmärkt material.

  29.   Låt oss använda Linux sade

    Denna ändring fungerar både för 32 och 64 bitar.
    Skål! Paul.

  30.   Herr Tuxito sade

    till en fråga, och detta skulle inte röra med någon senare uppdatering?
    Om det inte gick bra, vad skulle vara det värsta som kunde hända?
    (Du ser att sedan bara går från en Ubuntu 10.04 till en 10.10 kraschar allt)

  31.   jesuslara sade

    Det första som bör klargöras (för att undvika oansvarig användning av metoden) är att det kräver stöd för grupper av uppgifter i Linux-kärnan (cgroups), det vill säga endast användare med Kernel större än 2.6.36 kan använda den här metoden förbättring.