Wie lange dauert eine Neukompilierung bei euch?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Benutzeravatar
Pix
Beiträge: 275
Registriert: 31.01.2003 14:22:21

Wie lange dauert eine Neukompilierung bei euch?

Beitrag von Pix » 28.03.2008 15:41:28

Hallo,

ich habe mir den Kernel 2.6.24.x kompiliert und war erschrocken wie lange mein PC dafür benötigt hatte. Knapp 4h gingen ins Land, und ich muss gestehen, da kam schon Frust auf. Ich kann mich noch an Zeiten erinnern, wo ich für einen Kernel 2.4.x nur ~20min und für einen Kernel 2.6.1x etwa 50min brauchte, alles Erstkompilierung, also kein Libraries Objektdateien etc. vorhanden. Aber nun 4h ist arg viel Zeit.

Meine Frage:
1. Wie lange benötigt ihr für eine erstmalige Kompilierung des Kernels, und warum dauert das bei mir verdammt noch mal so lange?
2. Was ist wichtiger hinsichtlich der verträglichen Kompilierungszeit eines Kernels: Mehr Kerne (Dual/Quadcore) oder mehr RAM?

Danke Dirk

PS: Mein PC – ein PII 400MHz, 384 BM RAM

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 28.03.2008 16:30:22

Na ja, ein PII mit 400 Mhz. ist halt nicht mehr wirklich aktuell... der Kernel wächst halt stetig, und gerade bei den letzten Versionen ist extrem viel dazugekommen.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 28.03.2008 16:34:54

Mein Laptop (Pentium M, 1,8 GHz, 512 MB RAM) baut der nen 2.6.18er Kernel in ca. 10-15 Minuten.

Benutzeravatar
Six
Beiträge: 8069
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von Six » 28.03.2008 16:37:16

Pix hat geschrieben:Meine Frage:
1. Wie lange benötigt ihr für eine erstmalige Kompilierung des Kernels, und warum dauert das bei mir verdammt noch mal so lange?
a) ca. 10 Minuten auf einem Turion TL60
b) weil dein Prozessor -- und vermutlich die ganze Maschine -- verdammt noch mal so alt sind. ;)
2. Was ist wichtiger hinsichtlich der verträglichen Kompilierungszeit eines Kernels: Mehr Kerne (Dual/Quadcore) oder mehr RAM?
Ab eine bestimmten RAM-Größe profitierst du bei der Kernel-Kompilierung nicht mehr wirklich von mehr RAM. Ich schätze, die Untergrenze liegt bei 512 MB. Wissen tu ich das aber nicht. Und mehr Dampf ist immer gut. Wenn du wissen willst, wo du schrauben mußt, dann würde ich tippen: verlorene Liebesmüh.
Be seeing you!

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 28.03.2008 16:52:13

nepos hat geschrieben:Mein Laptop (Pentium M, 1,8 GHz, 512 MB RAM) baut der nen 2.6.18er Kernel in ca. 10-15 Minuten.
Das ist dann aber kein Debian-Kernelkonfiguration, sondern schon was ordentlich abgespecktes, oder?
Soweit ich mich erinnere brauche ich um einen Debian-Kernel mit original Config zu bauen etwa eine Stunde. Wenn nur das nötigste dabei ist kommt man natürlich schonn Mal in unter 10 Minuten hin.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
jensm
Beiträge: 389
Registriert: 23.07.2006 14:13:08
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Bruchsal

Beitrag von jensm » 28.03.2008 17:06:09

Bei meinem letzten Male (leider mit Kernel panic geendet) hatte das so ungefähr 45 Minuten gedauert.
Aber da war mit Sicherheit einiges Zeugs dabei was ich hätte rausschmeissen können.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 28.03.2008 17:15:18

Trigger. hat geschrieben:
nepos hat geschrieben:Mein Laptop (Pentium M, 1,8 GHz, 512 MB RAM) baut der nen 2.6.18er Kernel in ca. 10-15 Minuten.
Das ist dann aber kein Debian-Kernelkonfiguration, sondern schon was ordentlich abgespecktes, oder?
Soweit ich mich erinnere brauche ich um einen Debian-Kernel mit original Config zu bauen etwa eine Stunde. Wenn nur das nötigste dabei ist kommt man natürlich schonn Mal in unter 10 Minuten hin.
Stimmt, das ist mein Kernel, der nur noch die nötgen Sachen enthält.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von Danielx » 28.03.2008 17:36:25

Pix hat geschrieben:Knapp 4h gingen ins Land
(...)
PII 400MHz, 384 BM RAM
Das sind durchaus normale Werte für deinen Rechner.

Hier mal zwei ausgewählte Werte von mir, sozusagen als Vergleich alt zu neu:
Auf einem PIII 700MHz, 256 MB RAM hat es 4h 25min gedauert.
Auf einem Core2Duo 1,8 GHz, 1 GB RAM dagegen nur 8min 35sec (mit CONCURRENCY_LEVEL=4).
Jeweils bei einem 2.6.18-er Kernel mit der Standard-Config aus Debian.

Gruß,
Daniel

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von KBDCALLS » 28.03.2008 17:48:00

Danielx hat geschrieben: Auf einem PIII 700MHz, 256 MB RAM hat es 4h 25min gedauert.
Auf einem Core2Duo 1,8 GHz, 1 GB RAM dagegen nur 8min 35sec (mit

Gruß,
Daniel
Wobei der Kiste etwas mehr Ram gut tun würde.

Die Hauptbremse dürfte sein wenn er anfängt zu swappen.

Wie heißt es so treffend. Ram ist durch nichts zu ersetzen , außer durch mehr.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 28.03.2008 18:20:33

Also auf einem 4-fach QuadCore (also quasi mit 16 CPUs) mit je 2.93 Ghz, 32 GB RAM und einem "make -j 16" dauert eine Debian-Kernel mit sämtlichen Modulen 1 Minute 48 Sekunden ;) ...
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Aliquando
Beiträge: 285
Registriert: 15.01.2008 13:57:41

Beitrag von Aliquando » 28.03.2008 18:48:53

Von der Debian-Standardkonfiguration ausgehend braucht mein PIII mit 550 MHz und 384 MB RAM für einen 2.6.22 gute 3 1/2 bis 4 Stunden, mein P4 mit 2,4 GHz und 768 MB RAM nicht ganz 1 1/2 Stunden.
Zumindest auf dem P4 war aber längst nicht der ganze RAM benutzt, dafür lief die CPU aber konstant bei 100% Last.

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 28.03.2008 19:33:52

Nicht zu vergessen: die gcc-Version. Da ergeben sich auch ordentliche Unterschiede. Beschleunigen könnte man das (bei ausreichend Speicher) auch durch Auslagern des Codes in eine ramdisk. Die brauch aber allerhand Platz (grobe Schätzung: 3 x source-Größe). Und während des Kompilierens alles unnötige ausmachen. Bei häufigeren Kompilieren empfiehlt sich auch noch ccache, dafür braucht dann da das erste Mal erheblich länger um den cache erstmal zu füllen.
Oder gleich cross auf einer schnelleren Maschine machen.

ciao, storm (baut im Regelfall in <5min einen neuen Kern)

/edit: @mistersixt, schöne Maschine. *g -- Du könntest doch sogar mit -j 32 arbeiten?
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 28.03.2008 23:43:11

mistersixt hat geschrieben:Also auf einem 4-fach QuadCore (also quasi mit 16 CPUs) mit je 2.93 Ghz, 32 GB RAM und einem "make -j 16" dauert eine Debian-Kernel mit sämtlichen Modulen 1 Minute 48 Sekunden ;) ...
boa in 2 min mal eben nen neuen Kernel, da kann man ja probieren was das Zeug hält.
Wieso 16 CPU's? Selbst mit Intels Hyper Threading wären es nur 8 Virtuelle!?

Bei mir dauert der komplette make-kpkg Durchgang (CONCURRENCY_LEVEL=4, also auch headers, und manual debs)
so ca 30 min.
Zuletzt geändert von cirrussc am 19.01.2010 01:30:28, insgesamt 1-mal geändert.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
towo
Beiträge: 4546
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von towo » 28.03.2008 23:50:58

Wiso 16 CPU's? Selbst mit Intels Hyper Threading wären es nur 8 Virtuelle!?
Du hast den Poste gelesen?

4x4 ist 16, schon immer.
Und ein Quadcore hat 4 Kerne, macht bei 4 Quadcore 16 CPU, Mathematik 2. Klasse.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 28.03.2008 23:55:27

towo hat geschrieben:Du hast den Poste gelesen?
jain
Hab das 4-fach Weggedacht.
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von bse » 29.03.2008 01:06:46

storm hat geschrieben:Beschleunigen könnte man das (bei ausreichend Speicher) auch durch Auslagern des Codes in eine ramdisk. Die brauch aber allerhand Platz (grobe Schätzung: 3 x source-Größe).
Ich habe das mal überprüft, weil ich anderer Meinung war und bin :)
Getestet: Linux-2.6.25-rc7 mit handgeschnitzter config, auf einem Core 2 Duo, compiliert mit "time make -j3 -s"

HDD (Seagate Barracuda 7200.9 (ST3250624AS)):

Code: Alles auswählen

real	3m45.341s
user	6m24.044s
sys	0m46.151s
tmpfs:

Code: Alles auswählen

real	3m36.332s
user	6m23.316s
sys	0m44.079s
... und nein, geswappt hat er dabei sicher nicht, ich hab nämlich ausreichend Speicher und keinen Swap.

Ich stimme aber zu, dass die Compilerversion und die CONFIG einen wesentlichen Einfluss haben. Angeblich verwenden manche Kernelentwickler deshalb ja immer den ältesten GCC, der den Kernel noch compilieren kann.

BTW: Nach erfolgreichem Compile:

Code: Alles auswählen

$ df /dev/shm
Filesystem           1K-blocks      Used Available Use% Mounted on
shm                    2014764    496876   1517888  25% /dev/shm

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 29.03.2008 10:07:32

Das hätte ich dir aber auch vorher schon gesagt, dass der Unterschied auf 'nem modernen System marginal ausfällt. *g Imo wird das aber auf HW, wie dem PII-400 (oder noch älter), anders aussehen. Andererseits: wer hat schon so eine alte Maschine mit exorbitant viel Speicher.

ciao, storm

/edit: gut, die Schätzung des Platzbedarfs ging daneben. :)

/edit #2: @bse: nur aus Interesse, welcher Compiler?
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von bse » 07.04.2008 01:29:54

Sorry für die späte Antwort, Compiler war gcc-4.2.x, genaue Version kann ich gerade nicht nachschauen. Version mit Gentoo-Patches.

Benutzeravatar
gOtNoPhEaR
Beiträge: 863
Registriert: 17.04.2004 15:49:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Gau-Algesheim
Kontaktdaten:

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von gOtNoPhEaR » 20.11.2009 15:07:38

Hallo zusammen...

also ich habe jetzt nen Core i7 und wunder mich die ganze Zeit, dass er so lahm kompiliert.
Kernel wird ganz normal mit make-kpkg kompiliert und CONCURRENCY_LEVEL=8 ist auch gesetzt.
Es werden mir auch 8 Prozessoren angezeigt.
Beim kompilieren erreiche ich aber eine maximal Gesamtauslastung der CPU von 14% was in etwa einem Kern entspricht, jedoch werden die Prozesse während des kompilierens wie es nach htop aussieht auf die Kerne verteilt und laufen immer mal wo anders.
Hat jemand eine Idee?

Danke schonmal ...
Greetz, gOtNoPhEaR

OS: Debian/testing amd64

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von Danielx » 20.11.2009 21:08:32

Vielleicht können die Daten nicht schnell genug von der Festplatte gelesen bzw. auf diese geschrieben werden?
Du könntest ja mal auf einer RAM-Disk kompilieren.

Gruß,
Daniel

tafkad
Beiträge: 282
Registriert: 22.09.2004 13:54:26

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von tafkad » 20.11.2009 22:58:27

Wie Danielx sagte, schnelle CPU reicht nicht immer, wenn die schreibzugriffe auf der Platte zu lange dauern und kompilieraktionen sind immer recht viele Schreibzugriffe. Daher einfach mal in einer Ramdisk testen.

Andere Frage, Core I7 hat doch auch nur 4 Reale Kerne und 4 virtuelle, oder? Bin nämlich immernoch der Meinung das virtuelle Kerne bei gewissen dingen die Leitung extrem reduzieren.

Benutzeravatar
gOtNoPhEaR
Beiträge: 863
Registriert: 17.04.2004 15:49:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Gau-Algesheim
Kontaktdaten:

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von gOtNoPhEaR » 21.11.2009 00:28:29

Daran hab ich auch schon gedacht, aber die Festplatte dümpelt auch nur so vor sich hin und macht keinen großen Durchsatz. RAM ist schnell genug. Naja, ist ein neues System und ich glaube es ist auch noch nicht alles so 100%ig vernünftig eingerichtet. Hatte nur mal bei nem Freund gesehen, mit seinem Core2Quad ging das schon einiges mehr ab.
Aber ich werde euch darüber auf dem Laufenden halten, sobald es was neues gibt....
Greetz, gOtNoPhEaR

OS: Debian/testing amd64

Benutzeravatar
gOtNoPhEaR
Beiträge: 863
Registriert: 17.04.2004 15:49:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Gau-Algesheim
Kontaktdaten:

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von gOtNoPhEaR » 19.01.2010 01:20:31

So, habe jetzt mal versucht das ganze in ner RAMDISK zu kompilieren. Geht zwar ein wenig schneller, jedoch steigt die CPU-Auslastung immernoch nicht über 16% :(

EDIT:
Mit

Code: Alles auswählen

make -j8
geht die CPU-Auslastung bis aus 98% ... Also scheint irgendwie make-kpkg mit CONCURRENCY_LEVEL=8 Probleme zu haben ...
Greetz, gOtNoPhEaR

OS: Debian/testing amd64

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von Lord_Carlos » 19.01.2010 01:33:58

@ gOtNoPhEaR
Zeig mal wie deine Befehle ganz genau aussehen, mit dem ganzen Export von CONCURRENCY_LEVEL und so weiter.
Andere Frage, Core I7 hat doch auch nur 4 Reale Kerne und 4 virtuelle, oder?
Also wenn man nicht gerade 2.6.32 (oder war das .33?) oder einen alternativen CPU Scheduler benutzt, empfehle ich immer mehr Processe als man Kerne hat zu verwenden. Wenn ich das richtig verstanden kommt der default CPU scheduler mit richtig vielen Kernen (ueber 32) sehr gut klar, aber Desktop nicht soo dolle.
Ich benutzt momentan BFS (Brain fucked Schduler), aber in .32 oder .33 ist auch ein anderer verbesserter default scheduler rein gekommen.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
gOtNoPhEaR
Beiträge: 863
Registriert: 17.04.2004 15:49:29
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Gau-Algesheim
Kontaktdaten:

Re: Wie lange dauert eine Neukompilierung bei euch?

Beitrag von gOtNoPhEaR » 19.01.2010 02:01:27

Hat jetzt geklappt. Einfach in die /etc/kernel-pkg.conf die Zeile:

Code: Alles auswählen

CONCURRENCY_LEVEL=8
gepackt.

Anschließend kompiliert (vanilla-2.6.32.4) mit:

Code: Alles auswählen

time sudo make-kpkg --revision=1 --append-to-version=-2010-01-19-marla --initrd kernel_image kernel_headers
Ergebnis:

Code: Alles auswählen

real    3m44.348s
user    14m58.538s
sys     1m37.024s
Einziger Nachteil, der Rechner zieht beim kompilieren 120Watt mehr Saft ;)
Greetz, gOtNoPhEaR

OS: Debian/testing amd64

Antworten