Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Boot analysieren und optimieren.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Sat Jun 04, 2011 11:30 am    Post subject: Boot analysieren und optimieren. Reply with quote

Hi,
heute habe ich versucht gentoo schneller booten zu lassen. Dazu fing ich beim Kernel an. Nach vielen Optimierungen bootet er nun sogar einen Tick schneller (Ich konnte allein 3 Sekunden durch entfernen der Floppy Unterstützung gut machen), optimal ist es aber immer noch nicht.
Was mir besonders ins Auge sticht sind wieder 3 Sekunden:
Code:
...
[    3.107686] scsi 7:0:0:3: Direct-Access     Generic  USB MS Reader    1.03 PQ: 0 ANSI: 0
[    6.130981] scsi 0:0:0:0: Attached scsi generic sg0 type 3
...
Da die Zeit bis zur Übergabe an init bei ca. 7 Sekunden liegt (ich nehme als "init start" immer die Udev Startmeldung:
Code:
[    7.039033] udev: starting version 151
[    7.039115] udevd (4254): /proc/4254/oom_adj is deprecated, please use /proc/4254/oom_score_adj instead.
) wären diese 3 Sekunden fast die Hälfte! 8O

dmesg nach dem boot: http://pastebin.com/NGR41W6F

Und bitte möge mir niemand sagen ich soll die bluetooth Module entfernen. der Stick ist nur Testweise nicht angesteckt (er war der erste Verdächtige für den 3 Sekunden Lock).


Achja, bevor ichs vergesse: bootchart will bei mir auch nicht wie es oll. Ich habe "init=/sbin/bootchartd" in der grub.cfg hinzugefügt (ja, ich weiß, das fehlt in der dmesg Ausgabe, die entstand noch bevor ich bootchart testen wollte) und meine init Datei des initramfs angepasst:
Code:
INIT=/sbin/init
CUSTOM_INIT=`cat /proc/cmdline | grep -o -e 'init\=[0-9a-zA-Z\/]* '`
if [ ! "$CUSTOM_INIT" = "" ]; then
   INIT=$CUSTOM_INIT
fi

exec switch_root /mnt/root $INIT $CMDLINE
(Komplett: http://pastebin.ca/2074534 )
Doch bootchartd beendet sich nie! Dadurch wird auch keine Grafik angelegt. "bootchartd stop" gibt zwar eine Ausgabe, diese sagt mir jedoch nicht viel und bringt auch nichts.
Ich kann das Bild zwar manuell rendern lassen, CPU, I/O, Disk throughput und Disk utilization bleiben jedoch leer und der Rest zeigt Sachen an die ich nicht wissen will (als Beispiel: Geschätzte 90% der Zeitanzeige zeigt mir Compiz. Das hilft mir natürlich nicht sonderlich...)
Back to top
View user's profile Send private message
Randy Andy
Veteran
Veteran


Joined: 19 Jun 2007
Posts: 1136
Location: /dev/koelsch

PostPosted: Sat Jun 04, 2011 3:47 pm    Post subject: Reply with quote

Hi V10lator.

Auch wenn ich zu deinen Problemen keine konkreten Hilfen anbieten kann, so möchte ich aber der Vollständigkeit wegen doch noch weitere Optimierungsmöglichkeiten aufzählen, die bisher unerwähnt blieben.

Was ist mit der parallelen Initialisierungs-Option aus der rc.conf, daran gedacht?

Code:

# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
rc_parallel="YES"


Appropos Kernel Optimierung:
Ich verwende keine initrd / initramfs, und habe den kernel auf meine Hardware hin minimalistisch konfiguriert, so startet er auch schneller als mit initrd.
Die Frage ist natürlich, kann oder möchte man auf bereitgestellten Funktionen von initramfs verzichten.

Ich brauche das jedenfalls nicht, und benötige auch keinen generischen kernel der auf anderen Maschienen läuft.

Gruß, Andy.
_________________
If you want to see a Distro done right, compile it yourself!
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2224
Location: Germany

PostPosted: Sun Jun 05, 2011 3:37 pm    Post subject: Reply with quote

Etwas das mich verblüffte war die Boot-Geschwindigkeit nach einem Wechsel auf eine SSD. Dafür solltest du mal durch Forum schauen und darauf achten das auf dem Root/Boot-System keine log oder tmp Verzeichnis ist, weil dies die Lebenszeit der SSD negativ Beeinflussen. Aber dies brachte einen richtigen boost. Bei mir war es von ca. 30 Sekunden auf 11 Sekunden.

Bootchart hat nach einem Update angefangen Probleme zu machen. Es startete in 2 von 30 Fällen nicht mehr (so das das System den Bootvorgang nicht mehr vollzog!).
Back to top
View user's profile Send private message
lukasletitburn
Apprentice
Apprentice


Joined: 17 Mar 2011
Posts: 209
Location: München

PostPosted: Mon Jun 06, 2011 4:17 am    Post subject: Reply with quote

Wenn du ein schnelles und schlankes System willst dann fang beim Kernel an. Alles raus was du nicht brauchst nur noch die die Optionen sollten aktiv sein die du wirklich brauchst sonst nichts. Das ist der einzige Weg. Suche nicht im Bootloader gleich an den Kernel es ist extrem viel arbeitet aber dein Rechner wird nie schneller sein!
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Mon Jun 06, 2011 4:12 pm    Post subject: Reply with quote

Randy Andy wrote:
Was ist mit der parallelen Initialisierungs-Option aus der rc.conf, daran gedacht?
Ja. ;)
Quote:
Die Frage ist natürlich, kann oder möchte man auf bereitgestellten Funktionen von initramfs verzichten.
Kann ich leider nicht.
Quote:
Ich brauche das jedenfalls nicht, und benötige auch keinen generischen kernel der auf anderen Maschienen läuft.
Einen generischen Kernel brauche und benutze ich auch nicht. Wie bereits erwähnt wollte ich u.A. wissen wie ich die 3 Sekunden Bootverzögerung weg bekomme.
ChrisJumper wrote:
Etwas das mich verblüffte war die Boot-Geschwindigkeit nach einem Wechsel auf eine SSD
Ich nutze ebenso eine SSD. ;)
Quote:
Bootchart hat nach einem Update angefangen Probleme zu machen. Es startete in 2 von 30 Fällen nicht mehr (so das das System den Bootvorgang nicht mehr vollzog!).
:/
lukasletitburn wrote:
Wenn du ein schnelles und schlankes System willst dann fang beim Kernel an. Alles raus was du nicht brauchst nur noch die die Optionen sollten aktiv sein die du wirklich brauchst sonst nichts.
...du hast meinen ersten Post aber schon gelesen, oder?
Back to top
View user's profile Send private message
Knieper
l33t
l33t


Joined: 10 Nov 2005
Posts: 846

PostPosted: Mon Jun 06, 2011 7:10 pm    Post subject: Reply with quote

https://forums.gentoo.org/viewtopic-t-708893.html
https://forums.gentoo.org/viewtopic-t-734054.html
_________________
Je dümmer desto Gnome/KDE.
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Tue Jun 07, 2011 8:08 am    Post subject: Reply with quote

Knieper wrote:
https://forums.gentoo.org/viewtopic-t-708893.html
https://forums.gentoo.org/viewtopic-t-734054.html
Quote:
Bei den meisten Systemen dürfte Linux 2.6.28 aber trotz der integrierten Fastboot-Patches nur unwesentlich schneller starten
(Quelle)
Quote:
0.000000] Linux version 3.0.0-rc1 (root@horst) (gcc version 4.6.0 (Gentoo 4.6.0 p1.2, pie-0.4.5) ) #8 SMP PREEMPT Sat Jun 4 11:33:42 CEST 2011
Sprich: Die Patches sollten bereits in dem Kernel sein, die 3 Sekunden sind aber trotzdem da.

//EDIT: Ich habe mal folgendes versucht: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa5d9151f745b6ee6a236a1f109118034277eb92 jedoch sagt mir das Bild am Ende nicht viel:
[IMG]http://img29.imageshack.us/img29/5439/kerneltrace.png[/IMG]
dmesg: http://paste.pocoo.org/show/402033/

//EDIT²: Ich habe den Blocker identifiziert: Es ist SCSI_DC395x - nehme ich diesen aus dem Kernel beträgt die Bootzeit nurnoch ~2.7 Sekunden (wie vorher: bis udev)!
Als Workaround habe ich diesen Treiber mal als Modul gebaut: Er lädt direkt nach udev:
Code:
[    2.677140] udev: starting version 151
[    2.677216] udevd (4181): /proc/4181/oom_adj is deprecated, please use /proc/4181/oom_score_adj instead.
[    2.746742] dc395x: Tekram DC395(U/UW/F), DC315(U) - ASIC TRM-S1040 v2.05, 2004/03/08

braucht allerdings seine Zeit bis er den SCSI-Scanner eingebunden hat:
Code:
[    7.489600] scsi 7:0:0:0: Attached scsi generic sg6 type 3
Ob es während dieser Zeit noch zu Lookups kommt werden weitere Tests zeigen, jedenfalls bootet er nun deutlich schneller:
Letzte Zeile von dmesg direkt nach dem booten vorher:
Code:
[   17.071844] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

und nachher:
Code:
[    8.712755] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

allerdings habe ich zwischenzeitlich auch noch an anderen Kerneloptionen rumgeschraubt. :D
Back to top
View user's profile Send private message
Max Steel
Advocate
Advocate


Joined: 12 Feb 2007
Posts: 2040
Location: My own world! I and Gentoo!

PostPosted: Wed Jun 08, 2011 2:52 pm    Post subject: Reply with quote

Hast du schonmal den 2.6.39 versucht? Dadurch das in dem endgültig das BKL rausgeflogen könnte sich einiges schneller anfühlen/messbar schneller sein.
_________________
mfg
Steel
___________________
Sorry for my bad English.

Heim-PC: Intel i7-5820K, 32GB RAM, GTX 1080
Laptop: Intel Core i5-4300U, 16GB RAM, Intel Graphic
Arbeit-PC: Intel i5-3470S, 16GB RAM, Intel Graphic
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Wed Jun 08, 2011 5:15 pm    Post subject: Reply with quote

Code:
[    0.000000] Linux version 3.0.0-rc1 (root@horst) (gcc version 4.6.0 (Gentoo 4.6.0 p1.2, pie-0.4.5) ) #15 SMP PREEMPT Tue Jun 7 15:58:33 CEST 2011
Ich bin mir ziemlich sicher das die den BKL nicht wieder rein genommen haben... ;)
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3626
Location: Germany

PostPosted: Wed Jun 08, 2011 8:46 pm    Post subject: Reply with quote

Zu diesem Thema eventuell auch noch Interessant:
Code:
    sys-apps/e4rat [1]
     Available versions:  (~)0.2.1
     Homepage:            http://e4rat.sourceforge.net/
     Description:         Toolset to accelerate the boot process and application startup

[[1] "sunrise" /var/lib/layman/sunrise

Hier gab es auch schon ein paar Tipps dazu.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Wed Jun 08, 2011 9:49 pm    Post subject: Reply with quote

Hab mir mal den Fred zu e4rat durchgelesen. Klingt logisch, aber:
  • Funktioniert nur mit ext4. Ich hab z.B. Reiser4 noch im Einsatz und werd die Rootpartition vermutlich aber im August auf Btrfs umstellen.
  • Scheinbar darf man die e4rat-Datenumordnungsorgie für jedes Programm und den Systemstart nach jedem größeren Update erneut ausführen, da ja die Daten logischerweise nicht mehr an denselben Orten auf der Platte liegen werden.
  • Bei SSD-Platten dürfte der Effekt Null sein.

Mir wär das zuviel Aufwand.


Last edited by musv on Thu Jun 09, 2011 5:17 am; edited 1 time in total
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Wed Jun 08, 2011 10:27 pm    Post subject: Reply with quote

musv wrote:
Hab mir mal den Fred zu e4rat durchgelesen. Klingt logisch, aber:
  • Funktioniert nur mit ext4. Ich hab z.B. Reiser4 noch im Einsatz und werd die Bootpartition vermutlich aber im August auf Btrfs umstellen.
Vorsicht, das ist immernoch unstable! Ich habe vor kurzem erst von btrfs auf ext4 gewechselt da ich mit btrfs + neueren Kernel nicht mehr booten konnte und wochenlang keine Antwort auf der Mailinglist bekam. :(
Quote:
  • Bei SSD-Platten dürfte der Effekt Null sein.
Gleich 0 nicht, eher im Minusbereich da es der Lebenszeit schaden dürfte. ;)
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Thu Jun 09, 2011 5:31 am    Post subject: Reply with quote

V10lator wrote:
Vorsicht, das [BTRFS] ist immernoch unstable! Ich habe vor kurzem erst von btrfs auf ext4 gewechselt da ich mit btrfs + neueren Kernel nicht mehr booten konnte und wochenlang keine Antwort auf der Mailinglist bekam. :(

Deswegen warte ich auch noch bis nach dem Urlaub. Ich denk mal, dass dann 2.6.40 aka 3.0 draußen ist. Soweit ich gehört hab, gab's wohl bei BTRFS in früheren 30-er Versionen noch einige größere Umstellungen, die nicht abwärtskompatibel waren. Ich hatte bisher als Root-Partition immer Reiser4. Nur gab's da in 2.6.38 einen bösen Bug, der gleich mal das ganze Dateisystem geschreddert hatte, als ich den Squash-Portage vom UnionFS ins Squash-Image rüberschreiben wollte. Mit der Sysrescue-CD konnte ich die Partition noch mounten und alle Daten auf ein Backup ziehen. Reparieren ging leider nicht mehr. Also bin ich noch immer bei 2.6.37. Edward scheint wohl mit den Reiser4-Patches etwas mehr Arbeit zu haben, so dass die Reiser4-Unterstützung in Zukunft eher unsicher ist.

Und Ext will ich auf Root nicht. Ich mag die Idee des Compress-Plugings, das Reiser4 hatte und BTRFS ebenfalls anbietet.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum