Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: Lord Diamont dogg 20 Listopadu 2010, 22:49:54
-
Zdravím,
narazil som na návod, pomocou ktorého by sa malo ubutnu výrazne zvýchliť. Vyskúšal som to na svojom kompe, myslím, že tu je celkom rozdiel - v každom prípade som to nejak špeciálne nemeral, keby mal niekto záujem vyskúšať výkon pred a po bolo by to na porovnanie fajn.
1. upraviť rc.local:
sudo gedit /etc/rc.local
- pridať pred posledný riadok "exit 0" nasledovné:
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. urobiť súbor spustiteľným:
sudo chmod +x /etc/rc.local
3. upraviť ~/.bashrc :
gedit ~/.bashrc
- pridať
if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi
4. spustiť nasledovný príkaz:
sudo gedit /usr/local/sbin/cgroup_clean
- vložiť:
#!/bin/sh
rmdir /dev/cgroup/cpu/$*
5. urobiť súbor spustiteľným:
sudo chmod +x /usr/local/sbin/cgroup_clean
Zatiaľ som ešte nenašiel nejaké negatívne reakcie na tento postup, no je to pomerne nové takže je to na vlastné riziko. Ja fungujem bez problémov...
Zdroj:
http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html (http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html)
UPDATE:
na nete som našiel článok, kde autor urobil script, ktorý všetko spraví za vás:
Zdroj:
http://www.webupd8.org/2010/11/script-to-automatically-apply-200-lines.html (http://www.webupd8.org/2010/11/script-to-automatically-apply-200-lines.html)
script si môžete stiahnuť sami a prekontrolovať si ho:
http://launchpadlibrarian.net/59511828/cgroup_patch (http://launchpadlibrarian.net/59511828/cgroup_patch)
Postup:
!! je nevyhnutné, aby ste zmazali vaše predošlé úpravy, čiže zmazať kód pridaný do ~/.bashrc, /etc/rc.local a kompletne vymazať /usr/local/sbin/cgroup_clean file!!
potom už len stačí použiť v termináli:
cd
wget http://launchpadlibrarian.net/59511828/cgroup_patch
chmod +x cgroup_patch
sudo ./cgroup_patch
a potom už len buď reštart alebo
sudo /etc/rc.local
-
Athlon X2 5000+, Linux Mint 8 , PAE-PHC Kernel
Nektere veci jsou opravdu subjektivne rychlejsi - boot, GDM login, Mintmenu - nejak mam ted pocit ze nejvetsi brzdou systemu se stal disk. Takze ta uprava asi opravdu funguje.
-
Takže také shrnu poznatky o tomto postupu.
U mě se projevil problém se spouštěním rc.local. Soubor jakoby ignoroval přidaný kód, neboť po spuštění terminálu se objevily hlášky o neexistenci odkazů v .bashrc. To jsem napravil přidáním kódu do spouštěcího skriptu bootmisc, který už jsem měl vytvořený pro jiné účely. Takže fáze 1 "rozchození úpravy" by byla hotova.
Účinnost je v mém případě sporná. Systém sice běží bez problémů, vše funguje, ale rychlost se mi zdá býti subjektivně totožná jako před úpravou. Vzhledem k tomu, že není problém, nechám to tak (pro dobrý pocit), ale celkem by mě zajímaly zkušenosti ostatních s účinností tohoto tipu.
-
Značím si. ;)
-
Takže bod 3. se musí dělat pro každého usera zvlášť...
-
Ahoj,
asi jsem se to nemel delat, protoze nevim co delam :0) ale stalo se. Napr. v prvni bode ani nevim, jestli mam nechat nad "exit 0" mezeru, nebo tam byt nemusi (pri pozdejsich testech jsem zjistil, ze se to zrejme chova v obou pripadech stejne). Vzhledem k tomu, ze nejakou vetsi rychlost nepocituji, zacal jsem mit podezreni, ze se pri mem fusovani neco podelalo. A nasledne jsem si to potvrdil, kdyz jsem otevrel terminal, tak na mne houka tato hlaska :
bash: /home/petr/.bashrc: řádek 104: chyba syntaxe poblíž neočekávaného tokenu „fi“
bash: /home/petr/.bashrc: řádek 104: `fi'
petr@kap-laptop:~$
Priznam se, ze nevim co s tim :0)
-
No me to v terminalu nic nehazi. Zrychleni jsem pozoroval po prvnim zapnuti po provedeni zmen - boot, menu a tak. Ale ciste subjektivni pocit. Akorat se mi ted pocitac nechtel probrat z uspani - jeste to ale otestuju.
-
Ahoj,
asi jsem se to nemel delat, protoze nevim co delam :0) ale stalo se. Napr. v prvni bode ani nevim, jestli mam nechat nad "exit 0" mezeru, nebo tam byt nemusi (pri pozdejsich testech jsem zjistil, ze se to zrejme chova v obou pripadech stejne). Vzhledem k tomu, ze nejakou vetsi rychlost nepocituji, zacal jsem mit podezreni, ze se pri mem fusovani neco podelalo. A nasledne jsem si to potvrdil, kdyz jsem otevrel terminal, tak na mne houka tato hlaska :
bash: /home/petr/.bashrc: řádek 104: chyba syntaxe poblíž neočekávaného tokenu „fi“
bash: /home/petr/.bashrc: řádek 104: `fi'
petr@kap-laptop:~$
Priznam se, ze nevim co s tim :0)
prekontroluj si, ci si to dobre opisal, najlepsie je pouzivat copy paste. Pastni sem svoj .bashrc.
-
Copy/Paste jsem pouzil, ale pouzivam autocopy s copyplaintext, tak je mozne, ze mi tam neco chybi (nejaka mezera atd). Na prvni pohled mi to ale neprijde.
.bashrc beru od 85. radku do 104. Cili problem by mel byt v tom poslednim fi:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release
fi
Dekuji
-
No me to v terminalu nic nehazi. Zrychleni jsem pozoroval po prvnim zapnuti po provedeni zmen - boot, menu a tak. Ale ciste subjektivni pocit. Akorat se mi ted pocitac nechtel probrat z uspani - jeste to ale otestuju.
Nejde ti suspend to ram? me to funguje, ale jeste jsem nezkousel reboot, spustil jsem jen /etc/rc.local
subjektivne nepocituju zrychleni
-
mne to zrejme všetko funguje OK:
miro@laptop:~$ sudo /etc/rc.local
mount: cgroup already mounted or /dev/cgroup/cpu busy
mount: according to mtab, cgroup is already mounted on /dev/cgroup/cpu
a nepotreboval som to ani doplniť do startupu ani žiadne ďalšie kroky navyše...
-
pre jednoduchšiu aplikáciu je v postupe update
-
Ano, skript funguje. Boot mi pripada stejny, ale otevirani aplikaci je skutecne subjektivne rychlejsi. Vyresil se tim i problem se 104. radkem. Diky K+
P.
-
Poznám to jen při velkém zatížení systému. Což je správně.
Nadurhou stranu...když hraju 3D hru, tak při načtení nové mapy a dalšímu hraní dojde k asi 0.5s lagu hry.
Celkově je to asi přínos.
Jen mám pocit, že mi nějak víc hučí větrák.
-
Mne to spôsobovalo zamrznutie systému a musel nasledovať reštart. Po odstránení skriptu mi šlo zasa všetko v pohode. Skúšal som to na jadre 2.6.32 a tam to šlo dobre, ale akonáhle som dal update na 2.6.33 tak tak mi mrzol systém.
-
Možná by pomohlo vědět, co to vlastně dělá ;D
-
Take uz jsem to otestoval i se stopkama. Skutecne nepocituji ZADNE zrychleni. system Debian Squeeze/Sid
Testovan boot a start aplikaci, zadne hardcore operace
-
skor odporucam original, pred alternativou:
http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=2
treba pozriet videa a rozdiel
skompiloval som si kernel 2.6.36 pomocou 200line patchu na debiane a system sa zda byt pri narocnejsich operaciach zivsi :)
(http://img600.imageshack.us/img600/4133/catproc.th.png) (http://img600.imageshack.us/i/catproc.png/)
-
v jednom článku, čo na webup8.org je na spodu článku k dispozícii patchovaný kernel rovno na stiahnutie:
http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html (http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html)
Je tam však len pre 64 bitov....
-
Ahoj newim co delam blbe ale porad mi to hazi v terminalu toto:
bash: /dev/cgroup/cpu/user/2622/tasks: No such file or directory
bash: /dev/cgroup/cpu/user/2622/notify_on_release: No such file or directory
co to znamena a jak to muzu rozchodit?
-
skúsil si aj ten script, čo som do návodu doložil ako update?
-
jj zkusil jsem i ten script ale porad to same...
script vyhodil toto:
Patching [/home/britva/.bashrc]...
It seems the patch is already included in /home/britva/.bashrc
Patching [/etc/rc.local]...
Adding the patch...
Making backup of /etc/rc.local in /etc/rc.local.backup.txt
Making [/etc/rc.local] executable
Creating [/usr/local/sbin/cgroup_clean]...
File /usr/local/sbin/cgroup_clean already exists.
Making [/usr/local/sbin/cgroup_clean] executable
DONE. The patch has been applied. Restart your computer...
-
Zjavne si ten postup už predtým skúšal .... v návode je napísane, že musíš vymazať všetky kroky, ktoré si urobil predtým, aby nanovo všetko vytvoril ten patch sám...
-
Tak bohuzel ani kdyz predchozi kroky odstranil a porad to hlasi to same...
-
vsak ale na konci tej hlasky sa pise, ze je to hotove a mas uz len restartovat komp... zda sa, ze je to OK.
DONE. The patch has been applied. Restart your computer...
-
Ahoj, vím, že vlákno je staré. Když koukám do svého rc.local tak tam mám tyto položky. Může mi někdo vysvětlit jak ten skritp funguje a proč se domníváte, že zrychluje systém?
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
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
exit 0
-
Od kernelu 2.6.38 je v Ubuntu kernel s tzv. ~200 Line Linux Kernel Patch (Mike Galbraith), který sdružuje procesy podle tty a řídí se tím při přidělování scheduling priority. Podle testů je vyšší interaktivita prostředí na odděleném tty než tomu bylo ve starších kernelech. Testovala se plynulost prostředí (sledování videa apod.), pokud si na jiném terminálu spustím kompilaci kernelu (tedy činnost náročnou na procesor).
Lennart Poettering přišel s alternativní metodou (viz toto vlákno), která nevyžaduje přímý zásah do kernelu, a sdružuje procesy podle terminálu s využitím cgroups. Výsledek by měl být totožný/podobný jako u výše zmíněného patche.
Odpovědí byla lavina pozitivních ohlasů, která oznamovala "subjektivní" zrychlení systému v mnoha ohledech. Přitom problém, které tyto patche řeší, je lepší rozdělení úloh mezi jednotlivými terminály, což normální uživatel těžko někdy využije, protože grafické aplikace, které spouští, nejsou připojeny k žádnému tty/terminálu. Význam to snad má v případě, že si např. v terminálu pustím ffmpeg překódování videa, a zároveň v grafice dělám jinou CPU náročnou činnost.
Takže zjednodušeně řečeno: teoreticky je tato věc k ničemu, a to ze dvou důvodů:
1. novější Ubuntu už obsahuje kernel patch, který tento problém řeší
2. "normální" uživatel nemá šanci změnu pocítit
-
Nesouvisející příspěvek přesunut do nového tématu:
http://forum.ubuntu.cz/index.php?topic=60152