Page 1 of 4

[OT] Optymalizujemy Gentoo

Posted: Sun Jan 15, 2006 11:40 am
by yonami
Witam

Proponuje wątek z pomysłami na optymalizację gentoo.

Ja wpadłem na pomysł z partycjami, gdyż ja ciągle coś instaluje i robi sie syf. Pliki mieszają się i z dnia na dzień coraz ciężej je systemowi znaleść. Mój pomysł daje mi szybkie działanie Gentoo nawet po roku :twisted:

/boot 250MB
/ 2GB
/usr 7GB
/usr/portage 2GB - ponad 90,000 malućkich pliczków i ponad 21,000 katalogów
/usr/lib 2GB - prawie 20,000 bibliotek
/usr/src 750MB - prawie 23,000 malućkich pliczków
/usr/kde 2GB - pracuje na KDE więc, działa szybciej :]
/usr/
/var 1GB
/var/tmp/portage 2GB - kompilowane aktualnie paczuszki
/tmp 1GB
/home 4GB
/swap 316MB
/shared RESZTA - pliki współdzielone pomiędzy użytkownikami

Czekam na krytykę :P

Posted: Sun Jan 15, 2006 11:48 am
by ilny
Napisz jeszcze jaki fs, ja mam wszystko na jednej partycji oprocz /boot ale zamierzam to zmienic, wraz ze zmiana reiserfs na xfs'a :wink: tylko narazie brak mi czasu na to :twisted:

Posted: Sun Jan 15, 2006 11:55 am
by rasheed
/var/tmp/portage za małe, samo OOo potrzebuje od 4 do 7 GB na kompilacje.

Na portage bym dał reiserfs, cała reszta na ext3 lub XFS.

Polecam zapoznać się z tym testem

Posted: Sun Jan 15, 2006 12:04 pm
by nbvcxz
Co do FS nie chcę wywoływać flame war więc niech każdy wybierze sam (ja mam reiser4). A zgadzam się z rasheedem - trzebaby trochę więcej zmarnować na /var/tmp/portage, chociaż od biedy te 2G tesh wystarczy na większość dużych programów (powinno być ok na KDE i wine).
Jedna uwaga - na diabła 250 megsów na /boot - masz kilkadziesiąt wersji jajek? (U mnie jest chyba 32MB i wystarcza na 1 stabilne i 2 testowe)

Posted: Sun Jan 15, 2006 12:06 pm
by yonami
co do /var/tmp/portage to mnie wystarcza. Nie mam ochoty kompilować OO. Ostatnio komilowało mi się prawie 80 godzin :P Gdyby zrobili tak jak KOffice - chce kwrite to kompiluje kwrite. A nie cały pakiet jak w OO. Fuj. Mam binarke i mi dobrze działa. To już musze zresztą zdzierżyć, choć zbcozony jestem pod względem szybkości aplikacji.

Oczywiście EXT3, powinno być na partycje z binarkami i dużymi plikami. ReiserFS dla małych pliczków np. źródełek, obrazków itp.

/boot 250MB ext3
/ 2GB ext3
/conf 350MB - o tym zapomniałem - konfigi wspólne, jak skórki do XMMS'a, aby każdy mógł dorzucić (ext3)
/usr 7GB ext3
/usr/portage 2GB - ponad 90,000 maluækich pliczków i ponad 21,000 katalogów (ReiserFS)
/usr/lib 2GB - prawie 20,000 bibliotek (ext3)
/usr/src 750MB - prawie 23,000 maluækich pliczków (ReiserFS)
/usr/kde 2GB - pracuje na KDE wiêc, dzia³a szybciej :] (ext3)
/usr/ (ext3)
/var 1GB (ReiserFS)
/var/tmp/portage 2GB - kompilowane aktualnie paczuszki (ReiserFS)
/tmp 1GB (ReiserFS)
/home 4GB (ReiserFS)
/swap 316MB (FAT16 hehe)
/shared RESZTA - pliki wspó³dzielone pomiêdzy u¿ytkownikami (ext3)

Posted: Sun Jan 15, 2006 12:07 pm
by ilny
Zgadzam sie z @nbvcxz ja mam na boot 48 mb i to wystarcza w zupelnosci, 250 MB to przesada lepiej doloz sobie to miejsce np do /swap :wink:


[edit] rzeczywiscie jestes troche zboczony :P :wink: na tym punkcie [/edit]

Posted: Sun Jan 15, 2006 12:10 pm
by yonami
Tak mam teraz 4 jajka :P

Kernel FULL Support - drukowanie, skanowanie i pierdoły które używam raz w miesiącu :P
Kernel Standard - na codzień
Kernel SafeMode - jak sie cos by stało, np. padnie urządzenie jakieś, to mam mini jądro do napraw
Kernel Old Machine - dla sterego monitora jak mi ten siadnie :] Powywalane wszystko co i tak nie polecie w trybie black&white

PS: mówiłem, że zbok jestem jeżeli chodzi o wydajność :D

Do tego skrypt startowy sprawdzający nazwe kernela i podmieniający xorg.conf :] Odpala kdm lub nie :-)

Posted: Sun Jan 15, 2006 1:53 pm
by OBenY
To jak jestes zbok odnosnie wydajnosci, to polecam jeszcze takie cos zrobic z portage:
posadz portage z tego ebuilda:
http://www.kadu.net/~obeny/ebuilds/port ... 54.tar.bz2
i dodaj do /etc/make.conf nastepujaca linie:

Code: Select all

PORTAGE_STRIP_FLAGS="--strip-all --discard-all -R .comment -R .note -R .note.ABI-tag"
Teraz portage bedzie bardziej rygorystycznie stripowac binaria i biblioteki, w efekcie beda mniejsze, szybciej sie beda ladowaly itp :)
Uzywam tego od ponad roku i ZADNYCH PROBLEMOW nigdy z tego powodu nie mialem :)

By troche przyspieszyc start kernela to mozna dodac do append opcje quiet - jajko nie bedzie nas zasypywac informacjami co i jak w systemie - zysk niewielki, ale zawsze.

Do tego mozna jeszcze nalozyc na jajko latke ide-delay: http://www.kadu.net/~obeny/kernel/2.6.1 ... elay.patch i ustawic w append ide-delay=10 co zmniejszy oczekiwanie na detekcje dyskow z sekundy do 10 ms, czyli zysk znaczny :>

By dolozyc troche darmowego speeda dyskom to dobrze jest dac w fstab do opcji montowania noatime - nie zmienia znacznikow dostepu do pliku, ciut mniej ma fs do roboty, wiec chodzi i szybciej.

Jezeli chodzi o szybszy start systemu, to warto tez wywalic ze skryptow startowych netmount (pod warunkiem, ze nie uzywasz smb, nfs albo podobnych), do tego mozna jeszcze wywalic urandom (zakladajac, ze nie potrzebujesz dobrej generacji liczb pseudolosowych, ja tam mam to gdzies, wiec wywalam :P) ja wywalam takze portmap (bo tak, nie podoba mi sie, to co on oferuje, a opoznia start :P), rmnologin tez wywalam, tak o - nie wiem czy slusznie...

Jak uzywasz KDE lub GNOME, to warto zaladowac famd i miec w jajku inotify oraz dnotify - troche przyspiesza dostep do plikow.

Unikanie flagi optymalizacji -O3 tez jest dosc rozsadne, bo potwornie rozpycha kod i generalnie nie czyni nic dobrego, znacznie lepsze jest -O2 z madrze dobrana reszta flag.

Aha, boota to masz przesadnie duzego, moj ma 15 MB :)

To tyle, co mi sie tak na szybko przypomnialo, jak cos mnie jeszcze natchnie, to wpisze.
Tzn jeszcze jest pare usprawnien KDE-specific, ale to tylko szczegol...

Pochwal sie flagami CFLAGS, CXXFLAGS oraz LDFLAGS.

Posted: Sun Jan 15, 2006 2:08 pm
by Belliash
moje KDE startuje o niebo sybciej ;)

Posted: Sun Jan 15, 2006 2:15 pm
by yonami
flag jeszcze nie opcykałem. narazie mam tak
CFLAGS="-march=pentium3 -O3 -pipe"
CXXFLAGS="${CFLAGS}"
Mówisz, ze lepiej przekompilowac na -O2? Mnie chodzi o predkosc i oszczednosc ramu :-)

A z LDFLAGS pierwszy raz sie spotkalem

Mój system jest swierzy, wiec wszystko moge pozmieniac kosztem kilkunastu godzinek :D Poczytam dzisiaj o flagach i reemergacja pójdzie w ruch :D

Narazie moje usprawnienia tyczą sie podstaw. Ale sie uczę :]

Posted: Sun Jan 15, 2006 2:16 pm
by OBenY
To daj tu linke do tych latek, moze ktos skorzysta :)
Ja chce skorzystac, tylko nie mam linka do latek :/

Posted: Sun Jan 15, 2006 2:41 pm
by psycepa
bylo -> init-ng :twisted:

Posted: Sun Jan 15, 2006 3:31 pm
by BeteNoire
psycepa wrote:bylo -> init-ng :twisted:
...który nic zupełnie nie daje, a nawet jeszcze psuje...

Ktoś pisał wyżej o 250MB /boot i 2gb /. Bosz... Na Torvaldsa! toż to czyste marnowanie miejsca. I to ma być optymalizacja?
Generalnie chodzi mi o bezsens rozbijania systemu na zbyt wiele partycji, bo to właśnie pochłania 2-3 razy więcej przestrzeni dyskowej.

Moje partychy wylądają tak:

Code: Select all

    Name           Flags         Part Type    FS Type              [Label]           Size (MB)
 ------------------------------------------------------------------------------------------------
    hda1                          Primary     Linux ext2                                 24,68
    hda2                          Primary     Linux                                     263,21
    hda3                          Primary     Linux ReiserFS                            263,21
    hda5                          Logical     Linux ReiserFS                           2056,32
    hda6                          Logical     Linux ReiserFS                           8200,61
    hda7                          Logical     W95 FAT32                               69215,74
W kolejności są to: /boot, swap, /, usr, /home i ogólny magazyn (ten FAT32), który w obecnej chwili służy mi do odzyskiwania danych z innego dysku.
Do tego 8gb /home mam podlinkowane /opt, /var, /usr/src, /usr/portage/distfiles i /usr/portage/packages, bo trzymanie ich gdzie indziej to czysta strata miejsca. Może pozwolę sobie na inny podział i większe partycje jak już kupię nowy dysk (ca. 200GB).
Mówisz, ze lepiej przekompilowac na -O2? Mnie chodzi o predkosc i oszczednosc ramu :-)
Do tego służy -Os.

Posted: Sun Jan 15, 2006 3:38 pm
by Riklaunim
zaraz powstanie przepis na 50 partycji, flagi -O4 i ińsze zabawy. Ja mam wszystko na jednej partycji a Plusiaczek po zbootowaniu do KDE zajmuje 51MB (po odpaleniu konsole i free -m)

Posted: Sun Jan 15, 2006 4:17 pm
by arturz
ilny wrote:Napisz jeszcze jaki fs, ja mam wszystko na jednej partycji oprocz /boot ale zamierzam to zmienic, wraz ze zmiana reiserfs na xfs'a :wink: tylko narazie brak mi czasu na to :twisted:
Nie pchaj się w XFS. Chyba że chcesz instalować Gentoo po 2-3 twardych resetach i odtwarzać ważne dokumenty. Polecam Reiser4 ja z nim od dawna nie mam problemów.

--
Pozdrawiam,
Artur

Posted: Sun Jan 15, 2006 4:20 pm
by OBenY
Hmmm nie no -O4 to przesada, ale dobrze dobrane flagi daja kopa, pod warunkiem, ze sie ma swiadomosc tego, co sie robi :P
LDFLAGS to flagi optymalizacyjne linkera, tez na nich mozna troche pooptymalizowac :>
Tak czy siak, moje aktualne flagi optymalizacji na x86_64 (prescott EM64T) sa w watku CFLAGS.

Posted: Sun Jan 15, 2006 4:26 pm
by ilny
arturz wrote:Nie pchaj się w XFS. Chyba że chcesz instalować Gentoo po 2-3 twardych resetach i odtwarzać ważne dokumenty. Polecam Reiser4 ja z nim od dawna nie mam problemów.
Piszesz z wlasnego doswiadczenia czy moze polegasz na stereotypach :wink: :?: Kiedy ostatni raz uzywales tego fs :?:

Posted: Sun Jan 15, 2006 4:27 pm
by n0rbi666
OBenY wrote:To jak jestes zbok odnosnie wydajnosci, to polecam jeszcze takie cos zrobic z portage:
posadz portage z tego ebuilda:
http://www.kadu.net/~obeny/ebuilds/port ... 54.tar.bz2
i dodaj do /etc/make.conf nastepujaca linie:

Code: Select all

PORTAGE_STRIP_FLAGS="--strip-all --discard-all -R .comment -R .note -R .note.ABI-tag"
Teraz portage bedzie bardziej rygorystycznie stripowac binaria i biblioteki, w efekcie beda mniejsze, szybciej sie beda ladowaly itp :)
Uzywam tego od ponad roku i ZADNYCH PROBLEMOW nigdy z tego powodu nie mialem :)
Oczywiście, żeby to zadziałało - trzeba przekompilować kawałek systemu? :)
Aha, boota to masz przesadnie duzego, moj ma 15 MB :)
Tu też się zgodzę - mam 92 mega na boota, trzymałem w nim 5 jajek - a miejsca było dalej sporo (jajko ok 2-3mega)
Tzn jeszcze jest pare usprawnien KDE-specific, ale to tylko szczegol...
Np ? :>

Re: Optymailuzjemy Gentoo

Posted: Sun Jan 15, 2006 4:28 pm
by arturz
yonami wrote:Witam

Proponuje wątek z pomysłami na optymalizację gentoo.

Ja wpadłem na pomysł z partycjami, gdyż ja ciągle coś instaluje i robi sie syf. Pliki mieszają się i z dnia na dzień coraz ciężej je systemowi znaleść. Mój pomysł daje mi szybkie działanie Gentoo nawet po roku :twisted:

/boot 250MB
/ 2GB
/usr 7GB
/usr/portage 2GB - ponad 90,000 malućkich pliczków i ponad 21,000 katalogów
/usr/lib 2GB - prawie 20,000 bibliotek
/usr/src 750MB - prawie 23,000 malućkich pliczków
/usr/kde 2GB - pracuje na KDE więc, działa szybciej :]
/usr/
/var 1GB
/var/tmp/portage 2GB - kompilowane aktualnie paczuszki
/tmp 1GB
/home 4GB
/swap 316MB
/shared RESZTA - pliki współdzielone pomiędzy użytkownikami

Czekam na krytykę :P
IMHO czysty bezsens.
Po pierwsze: marnujesz przez to wiele miejsca, ponieważ dla każdej partycji bierzesz zapas który i prawdopodobnie nie będzie wykorzystany,
Po drugie: wielkie zamieszanie chcąc uruchomić LiveCD i zamontować to wszystko tak jak ma być,
Po trzecie: jaki tego sens? Jak zwykle placebo rządzi i wydaje Ci się że nagle system dostaje kopa bo masz wszystko rozbite na milion partycji,
Po czwarte: rozbijane wszystkiego na osobne partycje ma tylko sens w środowiskach serwerowych z powodów bezpieczeństwa (noexec itp)
Po piąte: Linuksowe systemy plików są na tyle dobre że praktycznie nie istnieje coś takiego jak fragmentacja, więc dużo wymieszanych dużych i małych plików nie przeszkadza (szczególnie na ReiserFS/Reiser4)

Ja u siebie mam tak, i od zawsze mam tak na workstacji:

Code: Select all

artur@gentoo ~ % df -h
System plików         rozm. użyte dost. %uż. zamont. na
/dev/sda7             5,4G  3,1G  2,3G  58% /
udev                  253M  208K  252M   1% /dev
cachedir              5,4G  3,1G  2,3G  58% /lib/splash/cache
/dev/sda6              61M   14M   44M  25% /boot
/dev/sda8             5,4G  2,2G  3,2G  41% /home
shm                   253M     0  253M   0% /dev/shm
Wszystko na Reiser4 oprócz /boot (ext2).

Posted: Sun Jan 15, 2006 4:33 pm
by psycepa
BeteNoire wrote:
psycepa wrote:bylo -> init-ng :twisted:
...który nic zupełnie nie daje, a nawet jeszcze psuje...
ta jaaaasne
a bootup systemu zmniejszony z 25 sekund do ~10 to rzeczywiscie jest NIC
a ze psuje ? hmm zalezy co, oczywiscie projekt jest mlody ale _dobrze_ skonfigurowany dziala bez problemow :twisted:

Posted: Sun Jan 15, 2006 4:35 pm
by arturz
ilny wrote:
arturz wrote:Nie pchaj się w XFS. Chyba że chcesz instalować Gentoo po 2-3 twardych resetach i odtwarzać ważne dokumenty. Polecam Reiser4 ja z nim od dawna nie mam problemów.
Piszesz z wlasnego doswiadczenia czy moze polegasz na stereotypach :wink: :?: Kiedy ostatni raz uzywales tego fs :?:
Z własnego doświadczenia. Używałem ostatnio 2 miesiące temu. Wiele razy straciłem ważne pliki kiedy brakło prądu a ja miałem otwarty dokument w KWrite. Zawsze leciały pliki otwarte do zapisu, albo miały długość 0 albo w pewnym momencie pliku zaczynały sie zerowe bajty albo krzaki. Konfiguracja KDE zawsze od początku bo konfigi rozjechane. Jak narobiłem coś z kompem że nie dało się w ciemno zrebootować to po prostu patrzyłem na diode od dysku i resetowałem jak się nie świeciła. Fakt że programy powinne pracować na tymczasowych plikach a na końcu je podmieniać ale większość tak nie robi. Poza tym w Handbooku wyraźnie jest napisane:

Code: Select all

XFS to system plików z księgowaniem, w pełni wspierany w Gentoo Linux przez jądro xfs-sources. Jest bardzo funkcjonalny i zoptymalizowany do skalowalności. Zalecamy go wyłącznie do systemów z nowoczesnymi dyskami SCSI i/lub ciągłego zapisu danych z nieprzerwanym dostępem zasilania. Ponieważ XFS przechowuje dużo danych w pamięci RAM, źle zaprojektowane programy (te nie zachowujące odpowiednich środków ostrożności podczas zapisywania plików na dysk, których niestety jest sporo) mogą doprowadzić w razie padu systemu do utraty danych.

Posted: Sun Jan 15, 2006 4:39 pm
by BeteNoire
psycepa wrote:
BeteNoire wrote:
psycepa wrote:bylo -> init-ng :twisted:
...który nic zupełnie nie daje, a nawet jeszcze psuje...
ta jaaaasne
a bootup systemu zmniejszony z 25 sekund do ~10 to rzeczywiscie jest NIC
a ze psuje ? hmm zalezy co, oczywiscie projekt jest mlody ale _dobrze_ skonfigurowany dziala bez problemow :twisted:
Pewnie, że jasne. Boot z świeżo zemergowanego initng trwa u mnie dłużej niż tradycyjny i to wystarczy. A grzebać gdzieś po skryptach, żeby zyskać te 5 sekund w skali 30-sekundowej... nie, dzięki. Jeszcze takiego fioła nie mam ;)

Posted: Sun Jan 15, 2006 4:44 pm
by psycepa
BeteNoire wrote: Pewnie, że jasne. Boot z świeżo zemergowanego initng trwa u mnie dłużej niż tradycyjny i to wystarczy. A grzebać gdzieś po skryptach, żeby zyskać te 5 sekund w skali 30-sekundowej... nie, dzięki. Jeszcze takiego fioła nie mam ;)
25-10=15

a bootup ktory trwa 40% tego standardowego, czyli masz 60% przyspieszenia to warte nawet tego pogrzebania w skryptach _zwlaszcza_ na laptopie... :)
pozdrawiam

ps.
u mnie bootup swiezego init-ng jest krotszy niz standardowego :)

Posted: Sun Jan 15, 2006 4:54 pm
by BeteNoire
To jest myślenie życzeniowe. Dodaj sobie czas wstawania samego sprzętu od power-on do bootloadera. Potem po zabootowaniu dodaj czas na zalogowanie się i start X. W tej skali wyjdzie Ci może z 10% :P

Posted: Sun Jan 15, 2006 4:58 pm
by arturz
psycepa wrote: u mnie bootup swiezego init-ng jest krotszy niz standardowego :)
A nie lepiej zainwestować w suspend2? ;) U mnie czas wracania zamrożonego systemu to może połowa normalnego bootupa albo i lepiej - nie mierzyłem.

BTW. Uptime cały czas rośnie ;)