Nova zakrpa od 4 linije koja može uvelike povećati performanse vašeg sustava

Da skratim priču, prije nekoliko dana jedan od programera jezgre prenio je zakrpu (200 redaka koda) koji je omogućio da se znatno (gotovo 10 puta) poboljšaju performanse sustava, posebno kada se radi o multitaskingu tijekom izvođenja teškog zadatka (kao što je sastavljanje jezgre). Linus je čestitao ovom programeru na velikom doprinosu. Međutim, programer Red Hat-a, Lennar Poettering se nije složio implementirati to poboljšanje izravno iz jezgre; bilo mu je bolje da izvrši promjene u korisničkom prostoru (~ / .bashrc). Linus se naljutio i prevario ovog programera, rekavši mu da rezultati govore sami za sebe. Lennar je, umjesto da odgovori grubim riječima, sjeo i smislio alternativa (koja ne treba krpati jezgru) i koja zauzima samo 4 retka. U konačnici su ušutkali Linusa ... 

Napomena: ova metoda zahtijeva podršku za grupe zadataka u Linuxu kernelu (cgroups), odnosno samo korisnici s jezgrom starijom od 2.6.36 mogli bi je primijeniti.

Kako primijeniti zakrpu u Fedori

1. - Uredite datoteku ~ / .bashrc.

gedit ~ / .bashrc

2. - Na kraj datoteke zalijepite sljedeći kod:

if ["$ PS1"]; zatim
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi

3. - Izvedite sljedeće naredbe:

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

Kako primijeniti zakrpu u Ubuntuu

U Ubuntuu su stvari malo složenije ...

1. - Uredite datoteku rc.lokalno s ovom naredbom:

sudo gedit /etc/rc.local

i zalijepite prije mjesta gdje piše "izlaz 0", sljedeće:

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. - Spremite datoteku i dajte joj dopuštenja za izvršavanje:

sudo chmod + x /etc/rc.local

3. - Uredite datoteku ~ / .bashrc:

gedit ~ / .bashrc

4. - Na kraj datoteke zalijepite sljedeći kod:

if ["$ PS1"];
zatim mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5. - Izmijenite datoteku cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6. - Na kraj datoteke zalijepite sljedeći kod:

# / Bin / sh
if ["$ *"! = "/ korisnik"]; zatim
rmdir / dev / cgroup / cpu / $ *
fi

7. - Spremite datoteku i dajte joj dopuštenja za izvršavanje:

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

8. - Ponovo pokrenite sustav.

Napomena: ako vidite mapu / dev / cgroup /, primijetit ćete znatno poboljšanje upravljanja multitaskingom.

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   thalskarth dijo

    Pronašao sam upute za Arch, one su ovdje: http://pastebin.com/raw.php?i=sHRYRuAN

    Sa svoje strane sam primijenio zakrpu, mnogo poboljšanja uopće ne primjećujem, ali ako primijetite veliku promjenu prilikom pomicanja web stranica, oni su po prvi puta stvarno fluidni !!! =)

  2.   Koristimo Linux dijo

    Sjajno! Najljepše hvala na dijeljenju!
    Jesam li vam rekao da tražimo ljude koji koriste Arch za blogovanje? Ako ste zainteresirani, pišite nam hajde uselinux@gmail.com
    Veliki zagrljaj! Pavao.

  3.   thalskarth dijo

    Zahvaljujemo na pozivu, a onda ćemo nastaviti poštom then

  4.   thalskarth dijo

    Slučajno neće biti uputa za Archlinux, zar ne? 🙂

  5.   Koristimo Linux dijo

    Nisam ih našao. Ali nešto mi govori da je to više poput Fedore. S druge strane, treba imati na umu da, kako svi okupljaju Arch kako žele, možda to utječe na postupak koji treba slijediti ...

  6.   thalskarth dijo

    Ovdje sam pronašao kako ih primijeniti u Archlinuksu, prilično je sličan Fedori: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol i Tur dijo

    bash: / dev / cgroup / cpu / user / $ / tasks: Datoteka ili direktorij ne postoji

    Slijedio sam ove upute i neprestano mi govori o ovoj pogrešci prilikom otvaranja terminala AMD64 x ako nešto mora učiniti

  8.   Miquel Mayol i Tur dijo

    Već sam ga pronašao, molim te, pablo ga ispravi http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Što učiniti u ubuntuu - umjesto onoga što ste stavili - je:

    sudo gedit / usr / local / sbin / cgroup_clean

    i stavite ovo:

    # / Bin / sh
    if ["$ *"! = "/ korisnik"]; zatim
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   Koristimo Linux dijo

    Spreman! Ispravljeno! Hvala vam!

  10.   Koristimo Linux dijo

    Istina je! Hvala što ste me podsjetili!
    Upravo sam dodao to pojašnjenje na početku posta.
    Zagrljaj! Pavao.

  11.   dasinex dijo

    Točnije, kakve ću koristi imati kao korisnik i koja će se poboljšanja performansi vidjeti u mom sustavu.

  12.   Koristimo Linux dijo

    Sve ide puno brže. Međutim, razlike se stvarno "vide" kada radite težak zadatak i želite istodobno raditi i druge zadatke. Na primjer, izvodite instalaciju nekoliko programa ili sastavljate jezgru ili uređujete težak video, a istodobno želite surfati internetom ili gledati film itd.

  13.   Koristimo Linux dijo

    Javite mi ako saznate kako implementirati zakrpu u Arch. Pokušao bih pokrenuti onu koja radi u Fedori.
    Zagrliti! Pavao.

  14.   Koristimo Linux dijo

    Pretpostavljam da to ovisi o načinu na koji koristite računalo. Ako se jedva služite internetom i nekim uređivačem laganog teksta ... nećete "osjetiti" razliku. S druge strane, ako ste poput mene i obavljate teške zadatke (poput pretvaranja videozapisa, sastavljanja jezgre itd.) Dok pregledavate internet ili gledate filmove, možete primijetiti razliku.

  15.   nedjeljapv dijo

    Nakon svih koraka, kada otvorim terminal, uvijek dobijem sljedeće:
    mkdir: ne može stvoriti direktorij "/ dev / cgroup / cpu / user / 1844": Datoteka ili direktorij ne postoji
    bash: / dev / cgroup / cpu / user / 1844 / zadaci: Datoteka ili direktorij ne postoji
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Datoteka ili direktorij ne postoji
    domingopv @ pc1: ~ $
    Sve funkcionira u redu čak i na terminalu, jeste li nešto pogriješili?

  16.   Koristimo Linux dijo

    Mmmm ... stvarno ne znam što to može biti. Međutim, imam dojam da je vrlo vjerojatno da neke korake niste učinili dobro, posebno od 5 nadalje. Pokušajte ih ponoviti ili provjerite jeste li ih dobro shvatili. To je sve čega se zasad mogu sjetiti.
    Veliki zagrljaj! Pavao.

  17.   nedjeljapv dijo

    Ponovo instalirajte maverick i ponovo instalirajte zakrpu i sada dobivam sljedeće.
    mkdir: ne može stvoriti direktorij "/ dev / cgroup / cpu / user / 1678": Datoteka ili direktorij ne postoji
    bash: / dev / cgroup / cpu / user / 1678 / zadaci: Datoteka ili direktorij ne postoji
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Datoteka ili direktorij ne postoji
    domingopv @ pc1: ~ $

  18.   Koristimo Linux dijo

    Uyy .. Stvarno ne znam što to može biti. Uspjelo mi je savršeno.
    Nešto mi govori da čišćenje cgroupa ne funkcionira dobro. Zato sam inzistirao da vidite od koraka 5 nadalje.
    Živjeli! Pavao.

  19.   ne kažem dijo

    Moja majko, impresivno, mogu vidjeti 1080p flash videozapise na pasivnoj nvidiji 8400, mislim, loše loše, SAVRŠENO, cpus sve radi, divan uffff, to se poboljšava, puno je bolje, imam Ubuntu 10.04 😀 dobar, videozapisi su mi dobri hahaha 😀

  20.   Delano dijo

    Koji rc.local? Postoji nekoliko, što je to? Pozdrav.

  21.   Koristimo Linux dijo

    Upravo sam napisao naredbe navedene u točki 4. To ne morate kopirati u datoteku, već ih izvodite.
    Živjeli! Pavao.

  22.   Savjeti za GNU / Linux dijo

    To je slabo objašnjeno.

    Ono što morate učiniti je urediti datoteku rc.local pomoću:

    sudo gedit /etc/rc.local

    Morate zalijepiti unutra (prije izlaza 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

    To je problem. Ti su koraci slabo objašnjeni.

  23.   Koristimo Linux dijo

    U pravu si! Jasno stoji: "uredite datoteku rc.local". Ono što je nedostajalo za dodavanje je naredba za takvo što (što neki možda i ne znaju). Trenutno ga dodajem.
    Hvala na obavijesti! Živjeli! Pavao.

  24.   aespinoza dijo

    Kakav bi bio postupak u PCLinuxOs?

  25.   Koristimo Linux dijo

    Istina je da ne znam ...
    Ako saznate, ne zaboravite podijeliti podatke s ostalima!
    Hvala vam puno!
    Živjeli! Pavao.

  26.   gonho dijo

    Čini mi se ili niste naveli referencu odakle ste ga dobili? Možete li mi reći izvor?

    hvala

  27.   Koristimo Linux dijo

    Ne postoji jedan izvor. Tražio sam kako to učiniti iz različitih izvora i iz svog osobnog iskustva. Općenito govoreći, mogu vam reći da su izvori milijuni blogova koji su reproducirali te vijesti. Potražite "patch 200 linux kernel lines" i vidjet ćete o čemu pričam. Ne sjećam se točno, ali Ubuntu dio možda je nabavljen od WebUpd8; nije tako za Fedoru.

  28.   luckyys0921 dijo

    Korisnik sam ne tako davno, ubuntu 64 bita i kad vidim ovaj savjet, počinjem istraživati, a trenutni kernel koji imam je 2.6.32-27 prema postu, ova se zakrpa može primijeniti samo na kernele koji su veće ili jednake 2.6.36 Moje pitanje je ako ova promjena radi samo za 32 bitne distro-ove ili se u mojoj trenutnoj distro-jezgri jezgra može ažurirati na 2.6.36?

    Hvala na svim informacijama na webu, izvrsnom materijalu.

  29.   Koristimo Linux dijo

    Ova promjena jednako vrijedi za 32 i 64 bita.
    Živjeli! Pavao.

  30.   Gospodine Tuxito dijo

    na pitanje, a to se ne bi zabrljalo s kasnijim ažuriranjima?
    Da nije išlo dobro, što bi bilo najgore što bi se moglo dogoditi?
    (Vidite da onda samo prelazak s Ubuntu 10.04 na 10.10 sve ruši)

  31.   jesuslara dijo

    Prvo što treba razjasniti (da bi se izbjegla neodgovorna uporaba metode) jest da zahtijeva podršku za grupe zadataka u Linuxu kernelu (cgroups), odnosno samo bi korisnici s jezgrom većom od 2.6.36 mogli primijeniti ovu metodu poboljšanja.