[Diskussion] "Tweak" Kernel tuning script

payce

payce

Dauergast
1.174
Hallo an Alle,

das Thema ist etwas untergegangen, daher mache ich hier mal kurz einen Thread dazu auf, falls erlaubt. Uninteressant ist es ja sicher nicht.

Um was gehts? kholk von xda-dev hat ein kleines Tuning Script geschrieben, in dem ein paar Linux-Kernel-Variablen "optimiert" werden. Hier die Links dazu:

[TWEAK] Kernel tuning script -- UPDATED! - xda-developers
https://www.android-hilfe.de/forum/...das-milestone.45001-page-155.html#post-616827

FuFu hat das Ganze natürlich gleich mal komfortabel gestaltet:

https://www.android-hilfe.de/forum/...das-milestone.45001-page-155.html#post-616946

(Man beachte: Originalpost mit Verlinkung zu xda-devs um 10:06, FuFu's Adaption um 10:40 -> der FuFu läuft ebenfalls mit overclock.ko)


Wenn dazu mehr Infos zu holen sind, schreibe ich die hier in den ersten Post nach und nach rein (aber nur, wenn es sich lohnt). In absehbarer Zeit könnte das Script auch eingang in das CM6-mod-ROM finden. Ist aber noch unsicher.


Meine Fragen wären erst einmal:
- Bringt das Ganze einen *merkbaren* Vorteil oder einen *gefühlten*? ;) Also, kann man bspw. mit Quadrant einen Unterschied messen? (Quadrant ist jetzt ein blödes Bspl, aber Ihr wisst, was ich meine)
- Was zur Hölle stellt man da ein? Im Orignalthread ist dazu recht marginal Info verteilt.

Gerade die letzte Frage ist recht interessant, denke ich. Die Werte für den Stein werden sich sicher von denen eines Nexus One unterscheiden. Zu allem Überfluss gibts ja für den Stein bereits unterschiedliche Versionen: kernel.sched_latency_ns stellt der Eine auf 600000 und der andere 5000000 (*grins* @ FuFu).

Wenn jemand mal die Muße hat, wäre nicht nur ich dankbar (denke ich). Verlinkung genügt.

Grüße!
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: LordNeo und JD69
"Aktuelle" Version des tweak scripts, wie sie auch in CM6 zum Einsatz kommt:
https://www.android-hilfe.de/attach...d-cm6-fuer-milestone-noch-heute-01tweak-2.zip

Alle Werte, die in sysctl zur Verfügung stehen: Siehe Anhang (als .txt, da man es sonst nicht hochladen kann). Ist copy/paste aus 2.1 .36er Version.

Zum schnellen Ausprobieren (ohne Reboot):

  • Tweak-Script herunterladen (siehe obiger Link) & entpacken
  • Auf die SD-Karte kopieren, dort umbenennen in "01tweak.sh"
  • Von der SD-Karte auf beliebiges Verzeichnis auf /data/ kopieren (bspw. per Root Explorer - ich verwende gerne /data/userscripts, welches erstellt werden muss)
  • In Root Explorer Datei antippen -> execute -> fertsch
Installation unter 2.1 .36er G.O.T. Script und Konsorten (bei jedem Reboot automatisch mit ausgeführt):

  • Ebenfalls Tweak-Script herunterladen, entpacken, auf SD-Karte schieben und dort in "01tweak.sh" umbenennen
  • Datei in das Verzeichnis /system/bin/boot_script kopieren. Fertig.
Installation unter CM6: (Ist eigentlich nicht nötig, wird eh bald direkt implementiert)

  • Die Datei runterladen, entpacken, auf die SD-Karte schieben
  • Von dort direkt (ohne umbenennen) in das Verzeichnis /system/etc/init.d kopieren
  • Nutzungsrechte auf 750 umstellen (per chmod oder Root Explorer). Fertig.
Installation unter *den meisten* anderen 2.1 Versionen hier im Forum:

  • Tweak-Script herunterladen, entpacken, auf SD-Karte schieben und mit Texteditor (bspw. Root Explorer) öffnen
  • *DEN INHALT* kopieren
  • Die Datei /system/bin/mot_boot_mode mit Texteditor öffnen
  • *NUR WENN* der Inhalt der mot_boot_mode lesbar ist und nicht aus kryptischen Zahlenkollonnen besteht:
  • Den kopierten Inhalt an das Ende der mot_boot_mode anhängen. Fertig.
    • PS: Wenn mot_boot_mode nicht lesbar ist: Dann habt Ihr anscheinend noch keinen Mod installiert, der das implementieren des tweak-Scripts zulässt, sorry!

Wie immer gilt auch hier (VOR ALLEM bei der letzten Lösung): NANDROID BACKUP!!!
 

Anhänge

  • sysctl_original.txt
    49,4 KB · Aufrufe: 299
Zuletzt bearbeitet:
  • Danke
Reaktionen: parabolon
FuFu hat 2 Versionen herausgebracht. Seine eigene ist ebenfalls mit latency=600000 ==> Hier der Link

Ansonsten soll es was bringen, wenn man den Stein aufweckt, LP soll schneller reagieren, was er auch tut.
Des weiteren ist der Boot-/ Startvorgang merklich schneller geworden. Soweit ich das verstanden habe, klappt dies auch mit 2.1 in der 2.0.36er Version, ist ja der gleiche Kernel.

Wo man das unter 2.1 hinschieben muss, ist mir grad entfallen. Glaube da wo auch die 10overclock oder 71overclock liegen. Berichte mich wer, wenns falsch ist.
 
das ganze sollte auch für 2.1 gehen ;) da ja beim Milestone CM6 der 2.1 kernel weiterhin drin ist ;)

allerdings müßte man das ganze unter 2.1 in die mot_boot_mode eintragen damit es beim systemstart ausgeführt wird...

unter CM6 hat sich herrausgestellt, das das ganze besser läuft, wenn man es in die "01sysctl" einträgt anstatt die 01tweak zu verwenden... man kann auch die vorhandene 01sysctl löschen und die 01tweak in 01sysctl umbenennen...

alle einstellungen die gemacht werden kann ich nicht erklären, aber ich versuch es mal ;)

Code:
sysctl -w net.core.wmem_max=524288
sysctl -w net.core.rmem_max=524288
sysctl -w net.ipv4.tcp_tw_recycle=1
sysctl -w net.ipv4.tcp_rmem='6144 87380 524288'
sysctl -w net.ipv4.tcp_wmem='6144 87380 524288'
das sind soweit ich es verstanden hab einstellungen fürs (mobilen) internet, was genau sie allerdings machen kann ich nicht gehau sagen, aber sollte was mit dem Datendurchsatz zu tun haben...

Code:
mount -t debugfs none /sys/kernel/debug
echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features
öhm, gute frage ^^ sollte man mal google befragen ^^

Code:
echo 2048 > /proc/sys/kernel/msgmni
echo 64000 > /proc/sys/kernel/msgmax
echo 268435456 > /proc/sys/kernel/shmmax
echo 500 512000 64 2048 > /proc/sys/kernel/sem
hat glaub ich soweit ich es entziffern konnte was mit der Arbeitsspeicher zuweisung/verwaltung zu tun, genaueres kann ich nicht sagen, ich denke das man im notfall in irgendeinem wiki was dazu finden wird, da es zu 99% Linux übliche einstellungen sein werden, wie der rest ja auch ;)

Code:
sysctl -w kernel.sched_latency_ns=600000
sysctl -w kernel.sched_min_granularity_ns=400000
sysctl -w kernel.sched_wakeup_granularity_ns=400000
sind werte in nanosekunden für bestimmte kernel features, bis sie aktiviert werden aber genaueres weis ich nicht

Code:
#sysctl -w kernel.sched_features=24188
hab ich per # deaktiviert, da es laut xda Forum nicht so optimal sein sollte, da es ein feature deaktiviert, welches noch recht brauchbar sein soll ^^ aber naja, ich muß mich da auch noch einlesen ;)

Ich hoffe mal das es erstmal ne kleine übersicht ist ^^

Und falls hilfe benötigt wird, um das ganze als mot_boot_mode in eine 2.1 Version einzufügen, bescheid sagen, nach möglichkeit angeben was man schon gemacht hat, über welche OpenRecovery man es gemacht hat, denn dann kann ich schneller eine entsprechende datei fertig machen für euch...
 
jap, also wie ich es derzeit nutze :D
und ich denke es wird noch mehr versteckte werte geben, die man anpassen kann ^^ aber erstmal muß man sie finden ;)
 
Hey!

Also was mir erstmal beim Ausprobieren aufgefallen ist: Der kleine "Hänger" wenn man aus dem Sleep kommt ist erst mal weg, dafür saugt "Android System" jetzt 18,5 MByte RAM bei mir (was ja nicht sonderlich schlimm ist). Zudem SCHEINT mein Stein tatsächlich stabiler zu laufen (?!?). Kann aber subjektiver Schwachsinn sein.

Zwecks Einsatz in 2.1: Ist recht simpel, WENN man G.O.T. hat: Die Datei "01tweak" in "01tweak.sh" umbenennen und mit in /system/bin/boot_script reinschmeißen. Fertig.

@FuFu: Den Eintrag "sysctl -w kernel.sched_features=24188" kann man ruhig lassen. Bei xda wird empfohlen, NICHT 24189 zu verwenden, da dann irgendwas abgeschaltet wird (irgendein Sleeper - was zur Hölle das auch immer ist...). 24188 ist redundant zu: "mount -t debugfs none /sys/kernel/debug
echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features" - das gleiche in grün. (WENN ich alles richtig verstanden habe, was ich jetzt langsam echt hoffe...)

/edit: Grade noch gefunden: Wenigstens schon mal ein paar Infos zu VM-Einträgen: http://people.redhat.com/nhorman/papers/rhel4_vm.pdf (da wird schon mal so manches klarer...)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Bandit
Hmm ich hab das Ding ohne Dateiendung, also 01tweak, unter /system/etc/d.init drin, scheint damit auch zu rennen o.O Also direkt vom Boot.

Oder hab ich das falsch gemacht?
 
Nein ist richtig so, du hast ja auch CM6 laufen. Da musst du es als 10tweak oder 10sysctl unter /system/etc/ini.d mit 750 laufen haben.

Das von payce ist für 2.1
 
Guten Morgen

Eine frage wo kopiere ich die 01tweak unter time turns 2.1 OR hin.
Wäre nett wenn mir einer helfen könnte.Vielen Dank
 
Zuletzt bearbeitet:
Bandit schrieb:
Nein ist richtig so, du hast ja auch CM6 laufen. Da musst du es als 10tweak oder 10sysctl unter /system/etc/ini.d mit 750 laufen haben.

Das von payce ist für 2.1


@Bandit läuft doch besser bei 10sysctl:winki::D
 
Try4Ce schrieb:
Hmm ich hab das Ding ohne Dateiendung, also 01tweak, unter /system/etc/d.init drin, scheint damit auch zu rennen o.O Also direkt vom Boot.

Oder hab ich das falsch gemacht?

Hab jetzt gerade geschaut und gesehen, dass ich keinen Ordner d.init habe sondern nur init.d??

Soll ich den Ordner extra anlegen?
 
Incoe schrieb:
Hab jetzt gerade geschaut und gesehen, dass ich keinen Ordner d.init habe sondern nur init.d??

Soll ich den Ordner extra anlegen?


Nein , es kommt in init.d rein :winki:
 
  • Danke
Reaktionen: Incoe
NEIN

/system/etc/init.d

ist der richtige
 
  • Danke
Reaktionen: Incoe
Habe hier wohl etwas verwirrt anstatt geholfen. Habe daher vorne noch die Installation für CM6 und andere 2.1er mit aufgenommen. @nevs: Sollte auch bei Dir funzen. Schau mal rein. Ich kenne timeturns mod allerdings nicht so gut.

Falls vorne Fehler drin sind (habe aus dem Gedächtnis raus alles zusammen geschrieben), bitte darauf aufmerksam machen. :)

Übrigens wurden einige Variablen jetzt dankenswerterweise gut umschrieben: xda-developers - View Single Post - [TWEAK] Kernel tuning script -- UPDATED!
Saucool, da muss man xslntx mal danken! :)
 
  • Danke
Reaktionen: nevs
;)
zum installieren unter den meisten mods kann man es sich etwas erleichtern ;)
wer meine OR z.b. nutzt, der muß die 01tweak einfach öffnen und oben die erste zeile rauslöschen (notepad++ nutzen sonst gibt es Probleme):
Code:
#!/system/bin/sh
dann die datei in "mot_boot_mode.11.tweak" umbenennen, nach /system/bin kopieren und chmod 755 setzen und fertig ;)

ich werd das ganze wohl auch in mein update einbauen ;) ich hab nur noch keinen namen für den menu punkt :D
 
  • Danke
Reaktionen: GARSTIG
Wie wärs mit "Kerneltweak"?
PS: FuFu gilt dein post für die 2.1 oder für CM
 
der post nummer 16 ist für 2.1 wennman vorher mit meiner OR SE z.b. memhack oder overclock ausgeführt hat
 

Ähnliche Themen

moviecut
Antworten
8
Aufrufe
3.231
fipsy
fipsy
-FuFu-
  • -FuFu-
Antworten
14
Aufrufe
2.661
-FuFu-
-FuFu-
S
  • syndicate333
Antworten
2
Aufrufe
1.082
syndicate333
S
Zurück
Oben Unten