Nov popravek s 4 vrsticami, ki lahko močno poveča zmogljivost vašega sistema

Če skrajšam zgodbo, pred nekaj dnevi eden od razvijalcev jedra je naložil popravek (200 vrstic kode), ki je omogočil znatno izboljšanje (skoraj 10-krat) zmogljivosti sistema, zlasti pri obravnavi večopravilnosti med izvajanjem težke naloge (na primer pri sestavljanju jedra). Linus je razvijalcu čestital za velik prispevek. Vendar razvijalec Red Hat, Lennar Poettering se ni strinjal, da bo to izboljšavo izvedel neposredno iz jedra; zanj je bilo bolje, da je spremenil uporabniški prostor (~ / .bashrc). Linus se je razjezil in zmerjal tega razvijalca, rekoč mu, da rezultati govorijo sami zase. Lennar je, namesto da bi odgovoril s hudimi besedami, sedel in domislil alternativa (ki ji jedra ni treba popraviti) in traja le 4 vrstice. Končno so zaprli Linusa ... 

Opomba: ta metoda zahteva podporo skupinam nalog v jedru Linuxa (cgroups), to pomeni, da bi jo lahko uporabljali samo uporabniki z jedrom, višjim od 2.6.36.

Kako uporabiti popravek v Fedori

1.- Uredite datoteko ~ / .bashrc.

gedit ~ / .bashrc

2.- Na konec datoteke prilepite naslednjo kodo:

če je ["$ PS1"]; potem
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi

3.- Zaženite naslednje ukaze:

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

Kako uporabiti popravek v Ubuntuju

V Ubuntuju so stvari nekoliko bolj zapletene ...

1.- Uredite datoteko rc.local s tem ukazom:

sudo gedit /etc/rc.local

in prilepite, kjer piše "izhod 0", naslednje:

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.- Shranite datoteko in ji dajte dovoljenja za izvajanje:

sudo chmod + x /etc/rc.local

3.- Uredite datoteko ~ / .bashrc:

gedit ~ / .bashrc

4.- Na konec datoteke prilepite naslednjo kodo:

če je ["$ PS1"];
potem mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5.- Spremenite datoteko cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6.- Na konec datoteke prilepite naslednjo kodo:

# / Bin / sh
če ["$ *"! = "/ uporabnik"]; potem
rmdir / dev / cgroup / cpu / $ *
fi

7.- Shranite datoteko in ji dajte dovoljenja za izvajanje:

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

8.- Znova zaženite sistem.

Opomba: če vidite mapo / dev / cgroup /, boste opazili znatno izboljšanje upravljanja večopravilnosti.

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   thalskarth je dejal

    Našel sem navodila za Arch, tukaj so: http://pastebin.com/raw.php?i=sHRYRuAN

    Popravek sem sicer uporabil, na splošno ne opazim večjega izboljšanja, če pa med brskanjem po spletnih straneh opazite veliko spremembo, so prvič res tekoče !!! =)

  2.   Uporabimo Linux je dejal

    Super! Najlepša hvala za delitev!
    Sem vam rekel, da iščemo ljudi, ki uporabljajo Arch za bloganje? Če vas zanima, nam pišite pojdimo na uselinux@gmail.com
    Velik objem! Paul.

  3.   thalskarth je dejal

    Hvala za povabilo, nato bomo nadaljevali po pošti, nato 😉

  4.   thalskarth je dejal

    Naključno ne bo navodil za Archlinux, kajne? 🙂

  5.   Uporabimo Linux je dejal

    Nisem jih našel. Toda nekaj mi govori, da je bolj podobna Fedori. Po drugi strani pa je treba vedeti, da ker vsak sestavlja Arch, kot želi, morda to vpliva na postopek, ki ga je treba upoštevati ...

  6.   thalskarth je dejal

    Tu sem našel, kako jih uporabiti v Archlinuxu, precej podoben je Fedora: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Miquel Mayol in Tur je dejal

    bash: / dev / cgroup / cpu / user / $ / tasks: Datoteka ali imenik ne obstaja

    Sledil sem tem navodilom in mi vedno znova sporoča to napako pri odpiranju terminala AMD64 x, če ima kaj opraviti

  8.   Miquel Mayol in Tur je dejal

    Sem ga že našel, prosim pablo, popravi http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Kaj storiti v ubuntu - namesto tega, kar ste postavili - je:

    sudo gedit / usr / local / sbin / cgroup_clean

    in postavite to:

    # / Bin / sh
    če ["$ *"! = "/ uporabnik"]; potem
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   Uporabimo Linux je dejal

    Pripravljeni! Popravljeno! Hvala vam!

  10.   Uporabimo Linux je dejal

    Res je! Hvala, da ste me spomnili!
    Pravkar sem dodal to pojasnilo na začetku prispevka.
    Objem! Paul.

  11.   dasinex je dejal

    Natančneje, kakšne koristi bom imel kot uporabnik in kakšne izboljšave zmogljivosti bodo vidne v mojem sistemu.

  12.   Uporabimo Linux je dejal

    Vse gre veliko hitreje. Razlike pa se resnično "vidijo", ko opravljate težko nalogo in želite hkrati opravljati tudi druge naloge. Na primer, izvajate namestitev več programov ali pa sestavljate jedro ali urejate težak video, hkrati pa želite brskati po internetu ali gledati film itd.

  13.   Uporabimo Linux je dejal

    Sporočite mi, če odkrijete, kako v Archu implementirati popravek. Poskušal bi zagnati tistega, ki deluje v Fedori.
    Objem! Paul.

  14.   Uporabimo Linux je dejal

    Mislim, da je to odvisno od uporabe računalnika. Če komaj uporabljate internet in kakšen urejevalnik lahkih besed ... razlike ne boste "začutili". Po drugi strani pa, če ste podobni meni in med brskanjem po internetu ali gledanju filmov opravljate težka opravila (na primer pretvarjanje videoposnetkov, sestavljanje jedra itd.), Lahko ugotovite razliko.

  15.   nedeljapv je dejal

    Po vseh korakih, ko odprem terminal, vedno dobim naslednje:
    mkdir: ni mogoče ustvariti imenika "/ dev / cgroup / cpu / user / 1844": Datoteka ali imenik ne obstaja
    bash: / dev / cgroup / cpu / user / 1844 / tasks: Datoteka ali imenik ne obstaja
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: Datoteka ali imenik ne obstaja
    domingopv @ pc1: ~ $
    Tudi v terminalu vse deluje v redu, ste naredili kaj narobe?

  16.   Uporabimo Linux je dejal

    Mmmm ... res ne vem, kaj lahko je. Vendar imam vtis, da je zelo verjetno, da nekaterih korakov niste naredili dobro, zlasti od 5 dalje. Poskusite jih ponoviti ali se prepričajte, da ste jih pravilno razumeli. To je vse, kar si lahko za zdaj omislim.
    Velik objem! Paul.

  17.   nedeljapv je dejal

    Znova namestite maverick in znova namestite popravek in zdaj dobim naslednje.
    mkdir: ni mogoče ustvariti imenika "/ dev / cgroup / cpu / user / 1678": Datoteka ali imenik ne obstaja
    bash: / dev / cgroup / cpu / user / 1678 / tasks: Datoteka ali imenik ne obstaja
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: Datoteka ali imenik ne obstaja
    domingopv @ pc1: ~ $

  18.   Uporabimo Linux je dejal

    Uyy .. Res ne vem, kaj lahko je. Zame je delovalo kot nalašč.
    Nekaj ​​mi govori, da čiščenje cgroup ne deluje dobro. Zato sem vztrajal, da vidite od 5. koraka naprej.
    Na zdravje! Paul.

  19.   Ne rečem je dejal

    Moja mati, impresivno, na pasivni nvidii 1080 lahko vidim videoposnetke z bliskavico 8400p, mislim, slabo slabo, ODLIČNO, procesor deluje, čudovito uffff, to se izboljša, je veliko boljše, imam Ubuntu 10.04 😀 dober, video posnetki so zame dobri hahaha 😀

  20.   Delano je dejal

    Kaj rc.local? Obstaja več, kaj je to? Pozdravi.

  21.   Uporabimo Linux je dejal

    Pravkar sem napisal ukaze, ki so navedeni v točki 4. Tega vam ni treba kopirati v datoteko, ampak jih morate zagnati.
    Na zdravje! Paul.

  22.   Nasveti za GNU / Linux je dejal

    Slabo je razloženo.

    Kar morate storiti, je urediti datoteko rc.local z:

    sudo gedit /etc/rc.local

    Notri morate prilepiti (pred izhodom 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

    V tem je težava. Ti koraki so slabo razloženi.

  23.   Uporabimo Linux je dejal

    Prav imaš! Jasno piše: "uredite datoteko rc.local." Manjkalo je dodati ukaz, da naredimo kaj takega (česar nekateri morda ne vedo). Zdaj ga dodam.
    Hvala za obvestilo! Na zdravje! Paul.

  24.   aespinoza je dejal

    Kakšen bi bil postopek v PCLinuxOs?

  25.   Uporabimo Linux je dejal

    Resnica je, da ne vem ...
    Če ugotovite, ne pozabite deliti podatkov z ostalimi!
    Najlepša hvala!
    Na zdravje! Paul.

  26.   gonho je dejal

    Zdi se mi ali niste navedli nobene reference, od kod ste jo dobili? Bi mi lahko povedal vir?

    hvala

  27.   Uporabimo Linux je dejal

    Nobenega vira ni. Iskal sem, kako to narediti iz različnih virov in iz svojih osebnih izkušenj. Na splošno vam lahko rečem, da so viri milijoni spletnih dnevnikov, ki so reproducirali te novice. Poiščite "popravite 200 linij jedra linuxa" in videli boste, o čem govorim. Ne spomnim se natančno, toda del Ubuntu je bil mogoče pridobljen iz WebUpd8; ne tako kot Fedora.

  28.   sreča0921 je dejal

    Sem uporabnik nedolgo tega 64-bitnega Ubuntuja in ko vidim ta namig, začnem raziskovati in trenutno jedro, ki ga imam, je 2.6.32-27 glede na prispevek, ta popravek je mogoče uporabiti samo za jedra, ki so višje ali enake 2.6.36. Moje vprašanje je, ali ta sprememba deluje le za 32-bitne distribucijske sisteme ali je v moji trenutni distribuciji jedro mogoče posodobiti na 2.6.36?

    Hvala za vse informacije na spletu, odličen material.

  29.   Uporabimo Linux je dejal

    Ta sprememba deluje enako za 32 in 64 bitne različice.
    Na zdravje! Paul.

  30.   Gospod Tuxito je dejal

    na vprašanje in se to ne bi zamotilo s poznejšo posodobitvijo?
    Če ne bi šlo dobro, kaj bi bilo najslabše, kar bi se lahko zgodilo?
    (Vidite, da potem samo prehod z Ubuntu 10.04 na 10.10 vse zruši)

  31.   jesuslara je dejal

    Prva stvar, ki jo je treba pojasniti (da bi se izognili neodgovorni uporabi metode), je, da zahteva podporo skupinam nalog v jedru Linuxa (cgroups), to pomeni, da bi to metodo lahko uporabljali le uporabniki z jedrom, večjim od 2.6.36. izboljšanja.