En ny 4-linjers patch som kan øke ytelsen til systemet ditt

For å gjøre en lang historie kort, for noen dager siden en av kerneutviklerne lastet opp en oppdatering (200 kodelinjer) som gjorde det mulig å forbedre ytelsen til systemet betraktelig (nesten 10 ganger), spesielt når du arbeider med multitasking under utførelsen av en tung oppgave (for eksempel å kompilere kjernen). Linus gratulerte denne utvikleren for sitt store bidrag. En Red Hat-utvikler, Lennar Poettering gikk ikke med på å implementere denne forbedringen direkte fra kjernen; det var bedre for ham å gjøre endringene i brukerområdet (~ / .bashrc). Linus ble sint og hånet denne utvikleren og fortalte ham at resultatene talte for seg selv. I stedet for å svare med harde ord satte Lennar seg ned og tenkte et alternativ (som ikke trenger å lappe kjernen) og som bare tar 4 linjer. Til slutt holder de kjeft på Linus ... 

Merk: denne metoden krever støtte for grupper av oppgaver i Linux Kernel (cgroups), det vil si at bare brukere med Kernel høyere enn 2.6.36 kan bruke den.

Hvordan bruke plasteret i Fedora

1. - Rediger ~ / .bashrc-filen.

gedit ~ / .bashrc

2. - Lim inn følgende kode på slutten av filen:

hvis ["$ PS1"]; deretter
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
ekko $$> / sys / fs / cgroup / cpu / user / $$ / oppgaver
fi

3. - Kjør følgende kommandoer:

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

Hvordan bruke plasteret i Ubuntu

I Ubuntu er ting litt mer kompliserte ...

1. - Rediger filen rc.local med denne kommandoen:

sudo gedit /etc/rc.local

og lim inn der hvor det 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. - Lagre filen og gi den utføringstillatelser:

sudo chmod + x /etc/rc.local

3. - Rediger filen ~ / .bashrc:

gedit ~ / .bashrc

4. - Lim inn følgende kode på slutten av filen:

hvis ["$ PS1"];
deretter mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / oppgaver
ekko "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5. - Endre filen cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6. - Lim inn følgende kode på slutten av filen:

# / Bin / sh
hvis ["$ *"! = "/ bruker"]; deretter
rmdir / dev / cgroup / cpu / $ *
fi

7. - Lagre filen og gi den utføringstillatelser:

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

8. - Start systemet på nytt.

Merk: Hvis du ser / dev / cgroup / mappen, vil du merke en betydelig forbedring i multitasking-administrasjonen.

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   thalskarth sa

    Jeg fant instruksjonene for Arch, de er her: http://pastebin.com/raw.php?i=sHRYRuAN

    For min del påførte jeg lappen, mye forbedring merker jeg ikke generelt, men hvis du merker en stor endring når du blar gjennom websidene, er de veldig flytende for første gang !!! =)

  2.   La oss bruke Linux sa

    Flott! Tusen takk for at du delte!
    Sa jeg deg at vi leter etter folk som bruker Arch til å blogge? Hvis du er interessert, skriv til oss la oss bruke linux@gmail.com
    En stor klem! Paul.

  3.   thalskarth sa

    Takk for invitasjonen, så fortsetter vi med posten da 😉

  4.   thalskarth sa

    Ved en tilfeldighet vil det ikke være noen instruksjoner for Archlinux, ikke sant? 🙂

  5.   La oss bruke Linux sa

    Jeg fant dem ikke. Men noe forteller meg at det sikkert ligner mer på Fedora. På den annen side bør det tas i betraktning at når alle monterer Arch slik de vil, påvirker det kanskje prosedyren som skal følges ...

  6.   thalskarth sa

    Her fant jeg hvordan du bruker dem i Archlinux, det ligner ganske på fedora: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol i Tur sa

    bash: / dev / cgroup / cpu / user / $ / Tasks: Filen eller katalogen eksisterer ikke

    Jeg fulgte disse instruksjonene, og det fortsetter å fortelle meg denne feilen når jeg åpner terminal AMD64 x hvis den har noe å gjøre

  8.   Miquel Mayol i Tur sa

    Jeg har allerede funnet det, vær så snill å korrigere det http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Hva du skal gjøre i ubuntu - i stedet for det du legger - er:

    sudo gedit / usr / local / sbin / cgroup_clean

    og legg dette:

    # / Bin / sh
    hvis ["$ *"! = "/ bruker"]; deretter
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   La oss bruke Linux sa

    Klar! Rettet opp! Takk skal du ha!

  10.   La oss bruke Linux sa

    Det er sant! Takk for påminnelsen!
    Jeg la nettopp til den avklaringen i begynnelsen av innlegget.
    En klem! Paul.

  11.   dasinex sa

    Spesielt hvilke fordeler vil jeg få som bruker, og hvilke ytelsesforbedringer som blir sett i systemet mitt.

  12.   La oss bruke Linux sa

    Alt går mye raskere. Forskjellene blir imidlertid "sett" når du gjør en tung oppgave og vil gjøre andre oppgaver samtidig. For eksempel kjører du installasjonen av flere programmer, eller du kompilerer kjernen eller redigerer en tung video, og samtidig vil du surfe på internett eller se en film, etc.

  13.   La oss bruke Linux sa

    Gi meg beskjed hvis du oppdager hvordan du implementerer lappen i Arch. Jeg vil prøve å kjøre den som fungerer i Fedora.
    Klem! Paul.

  14.   La oss bruke Linux sa

    Jeg antar at det kommer an på hvordan du bruker datamaskinen. Hvis du knapt bruker internett og en lett tekstredigerer ... vil du ikke "føle" forskjellen. På den annen side, hvis du er som meg og gjør tunge oppgaver (som å konvertere videoer, kompilere kjernen osv.) Mens du surfer på internett eller ser på film, kan du se forskjellen.

  15.   Domingov sa

    Når jeg åpner terminalen, får jeg alltid følgende:
    mkdir: kan ikke opprette katalog "/ dev / cgroup / cpu / user / 1844": Fil eller katalog eksisterer ikke
    bash: / dev / cgroup / cpu / user / 1844 / oppgaver: Filen eller katalogen eksisterer ikke
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Filen eller katalogen eksisterer ikke
    domingopv @ pc1: ~ $
    Alt fungerer bra selv terminalen, gjorde du noe galt?

  16.   La oss bruke Linux sa

    Mmmm ... Jeg vet egentlig ikke hva det kan være. Imidlertid får jeg inntrykk av at det er veldig sannsynlig at du ikke har gjort det bra noen av trinnene, spesielt fra 5 og utover. Prøv å gjenta dem eller sørg for at du har rett. Det er alt jeg kan tenke meg for nå.
    En stor klem! Paul.

  17.   Domingov sa

    Installer maverick på nytt og installer oppdateringen på nytt, og nå får jeg følgende.
    mkdir: kan ikke opprette katalog "/ dev / cgroup / cpu / user / 1678": Fil eller katalog eksisterer ikke
    bash: / dev / cgroup / cpu / user / 1678 / oppgaver: Filen eller katalogen eksisterer ikke
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Filen eller katalogen eksisterer ikke
    domingopv @ pc1: ~ $

  18.   La oss bruke Linux sa

    Uyy .. Jeg vet egentlig ikke hva det kan være. Det fungerte perfekt for meg.
    Noe forteller meg at opprydding av cgroup ikke fungerer bra. Derfor insisterte jeg på at du skulle se fra trinn 5 og utover.
    Jubel! Paul.

  19.   jeg sier ikke sa

    Mor til meg, imponerende, jeg kan se 1080p flash-videoer på en passiv nvidia 8400, jeg mener, dårlig dårlig, PERFEKT, cpus fungerer alt sammen, fantastisk uffff, det forbedrer seg, det er mye bedre, jeg har Ubuntu 10.04 😀 bra, videoene er bra for meg hahaha 😀

  20.   Delano sa

    Hva rc.local? Det er flere, hva er det? Hilsen.

  21.   La oss bruke Linux sa

    Jeg skrev nettopp kommandoene som er oppført i punkt 4. Du trenger ikke å kopiere det til en fil, men kjør disse kommandoene.
    Jubel! Paul.

  22.   GNU / Linux-tips sa

    Det er dårlig forklart.

    Hva du må gjøre er å redigere rc.local-filen med:

    sudo gedit /etc/rc.local

    Du må lime inn (før avkjø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 trinnene er dårlig forklart.

  23.   La oss bruke Linux sa

    Du har rett! Det står tydelig "rediger rc.local-filen." Det som manglet å legge til, er kommandoen om å gjøre noe slikt (som noen kanskje ikke vet om). Jeg legger til det akkurat nå.
    Takk for varselet! Jubel! Paul.

  24.   aespinoza sa

    Hva ville være prosedyren i PCLinuxOs?

  25.   La oss bruke Linux sa

    Sannheten er at jeg ikke vet ...
    Hvis du finner ut av det, ikke glem å dele dataene med resten!
    Tusen takk!
    Jubel! Paul.

  26.   gonho sa

    Det virker for meg, eller har du ikke satt noen referanse fra hvor du fikk den? Kan du fortelle meg kilden?

    Takk

  27.   La oss bruke Linux sa

    Det er ingen kilde. Jeg så hvordan jeg skulle gjøre det fra forskjellige kilder og fra min egen personlige erfaring. Generelt sett kan jeg fortelle deg at kildene er millioner av blogger som gjengav den nyheten. Søk etter "patch 200 linux-kjernelinjer", så ser du hva jeg snakker om. Jeg husker ikke helt, men Ubuntu-delen kan ha blitt hentet fra WebUpd8; ikke slik Fedora.

  28.   luckys0921 sa

    Jeg er bruker for ikke lenge siden, av Ubuntu 64 bit, og når jeg ser dette tipset begynner jeg å undersøke, og den nåværende kjernen som jeg har er 2.6.32-27 ifølge innlegget, denne oppdateringen kan bare brukes på kjerner som er høyere eller like til 2.6.36 Spørsmålet mitt er om denne endringen bare fungerer for 32 bit distros eller i min nåværende distro kan kjernen oppdateres til 2.6.36?

    Takk for all informasjon på nettet, utmerket materiale.

  29.   La oss bruke Linux sa

    Denne endringen fungerer både for 32 og 64 bit.
    Jubel! Paul.

  30.   Herr Tuxito sa

    til et spørsmål, og dette vil ikke rote med noen senere oppdatering?
    Hvis det ikke gikk bra, hva ville være det verste som kunne skje?
    (Du ser at da bare går fra en Ubuntu 10.04 til en 10.10 krasjer alt)

  31.   jesuslara sa

    Det første som bør avklares (for å unngå uansvarlig bruk av metoden) er at det krever støtte for grupper av oppgaver i Linux Kernel (cgroups), det vil si at bare brukere med Kernel større enn 2.6.36 kunne bruke denne metoden for forbedring.