Portál AbcLinuxu, 10. května 2025 00:03

Dotaz: Pomalá kompilace na rychlém stroji

3.4.2016 10:04 Jirka | skóre: 25
Pomalá kompilace na rychlém stroji
Přečteno: 589×
Odpovědět | Admin
Zdravím všechny,
Mám celkem rychlý stroj - i5-2400, 8GB paměti, debian jessie a když kompiluju jádro, trvá to klidně přes 2 hodiny, přitom zatížení CPU se pohybuje někde okolo 15%.
Čekal jsem všechny 4 jádra nadoraz. Zkoušel jsem kompilaci provést v ramdisku, jestli to nebrzdí hadr a prakticky stejný výsledek.
Netuší někdo, jak to urychlit?
Díky. :-)
Dokud to funguje, nešťourej se v tom!...

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Jirka (tazatel))
3.4.2016 10:27 R
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Odpovědět | | Sbalit | Link | Blokovat | Admin
make -j8
Řešení 1× (Jirka (tazatel))
3.4.2016 10:31 source
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Odpovědět | | Sbalit | Link | Blokovat | Admin
make -j$ncpu
3.4.2016 10:32 source
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Zapomněl jsem na řádek předtím: ncpu=$(grep processor /proc/cpuinfo|wc -l) #find out number of CPU cores
3.4.2016 23:20 trubiciod2
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
je na to prikaz ncpu=$(nproc)
3.4.2016 10:35 Jirka | skóre: 25
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky všem. :-)
Dokud to funguje, nešťourej se v tom!...
4.4.2016 23:11 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám celkem rychlý stroj - i5-2400, 8GB paměti…

Tohle má jako být rychlý stroj? :-D Uf. Spustit build a jít na pivo.

Kromě výše doporučeného paralelismu na úrovni make (-j 4) je nejlepším receptem na zrychlení kompilace kernelu vyhození tisíců položek a kernelových modulů, které se na daném hardwaru nikdy nepoužijí, z konfigurace kernelu. To se pak jeden diví, jak rychle se dá zkompilovat kernel.

5.4.2016 08:47 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Jo, jen většinou tím vyhazováním strávíš víc času, než čekáním na doběhnutí kompilace, navíc tvého času, zatímco kompilace běží sama. Samozřejmě si můžeš uložit .config pro příště a pak jej přes make oldconfig zrecyklovat. IMO to má reálný přínos pro instalace s omezeným diskovým prostorem.
5.4.2016 09:04 R
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Jadro si uz davno pre bezne pouzitie nekompilujem, ale minimalizacia konfiguracie je dobra pred git bisect. Tam sa kompiluje asi 15-krat a da sa vyhodit takmer vsetko - staci len aby to nabootovalo a hlavne aby tam bola cast, v ktorej sa hlada bug :)
5.4.2016 09:42 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Jistě, v takovém specifickém případě to má veliký přínos.

Jinak jádro si pro některé servery kompiluju překvapivě poměrně často, konkrétně využívám opravy chyb v XFS v nových jádrech, která samozřejmě nejsou ve stabilních verzích distribucí. Přes debianní make-kpkg s .config z /boot je to trivka.
Josef Kufner avatar 5.4.2016 09:54 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Jo, to je celkem podstatný problém tohoto přístupu. Není nějaký elegantní způsob, jak detekovat aktuálně používané moduly a vygenerovat z nich minimální nutnou konfiguraci? Pak by stačilo jen přidat podporu věcí připojitelných do USB a je hotovo.
Hello world ! Segmentation fault (core dumped)
5.4.2016 11:46 R
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
make localmodconfig
Josef Kufner avatar 5.4.2016 12:23 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji
Díky, koukám, je to novinka z 2.6.32.
Hello world ! Segmentation fault (core dumped)
5.4.2016 20:50 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji

Nejde jen o moduly, ale taky třeba o vyhození všech AMD triků na procesorech Intel (nebo naopak) nebo (samozřejmě podle gusta) zrušení podpory 32-bitových binárek. Je spousta dalších detailů, které můžou dokonce i o promile zlepšit efektivitu. :-P

5.4.2016 20:47 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Pomalá kompilace na rychlém stroji

Ten čas se amortizuje celými roky kompilování kernelu s tím upraveným nastavením a s make oldconfig.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.