Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > HTC Forum > HTC Magic Forum > Root / Hacking / Modding für HTC Magic

Speicher, SWAP, Stabilität, Optimierung für Android

Das Thema "Speicher, SWAP, Stabilität, Optimierung für Android" befindet sich unter Root / Hacking / Modding für HTC Magic auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 20.07.2009, 15:40   #1 (permalink)
Neuer Benutzer
 
Benutzerbild von logos-ivaylo

Modell: Samsung Galaxy S Plus (I9001)

Registriert seit: 15.07.2009
Beiträge: 13
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Idee Speicher, SWAP, Stabilität, Optimierung für Android

Hallo!

Ich habe mich in die letzte Paar tage mit dem Optimierung von der Speicherverwaltung an meinen HTC-Magic beschäftigt.


1. Kurze Einführung (man kann es überspringen).

Wie vermutlich alle hier im Forum bekant, ist Android eben eine Linux GUI arbeitend auf einen Linux Kernel, bei HTC-Magic (Vodafon) ist das:
Version: 2.6.27-00393-g6607056 san@sandroid #1

Linux verwendet gern einen SWAP-Partition wenn es um Desktop oder Server OSs geht. Beim Android ist das vom "Werk" vollständig vernachlesigt worden. Im grunde braucht es ja auch nicht wirklich, außer man verwendet "speicher-hungrigen" Programme (ich z.B. CoPilot).

Es gibt auch eine Reihe von Parameter, die die Speicherverwaltung von Linux steuern und die wurden für Android großteils einfach übernommen von der standart Einstellungen und an denen mache ich mich in diesem Thema ran. Mehr Informationen findet man im Internet.


2. Was gebraucht wird.

1. Root rechte auf sein Android. Link 1 und Link 2 ohne Root-ROM
2. Ein Text-Editor für Win/Android. Ich benutze(I.b.) Notepad++/Text Edit.
3. Ein Programm für Android, das sh - Script ausführen kann. I.b. GScript Lite.
4. Und natürlich Swapper, wenn man ein SWAP-Datei erstellen will.


3. Vorgang.

Alle Programme installieren die für Android sind im Market zu finden, die für Windows Googeln.

Die Scripts schreiben. Ich habe mir 2 geschrieben, ein Script überprüft die Einstellungen und das Andere übernimmt die.

check.sh - Einstellungen prüfen.
Code:
# Einstellungen ueberpruefen
echo swappiness wert ist:
cat /proc/sys/vm/swappiness
echo dirty_expire_centisecs wert ist:
cat /proc/sys/vm/dirty_expire_centisecs
echo dirty_writeback_centisecs wert ist:
cat /proc/sys/vm/dirty_writeback_centisecs
echo dirty_background_ratio wert ist:
cat /proc/sys/vm/dirty_background_ratio
echo dirty_ratio wert ist:
cat /proc/sys/vm/dirty_ratio
echo oom_kill_allocating_task wert ist:
cat /proc/sys/vm/oom_kill_allocating_task
echo vfs_cache_pressure wert ist:
cat /proc/sys/vm/vfs_cache_pressure


speed.sh
- Einstellungen vornehmen.
Code:
# Speed Einstellungen
# Bei Wieviel Prozent freien Speicher soll das System anfange zu swappen
echo 5 > /proc/sys/vm/swappiness
#Wie oft soll der Kernel pruefen ob "dirty changes" vorhanden sind
#um diese dann auf die Platte zu schreiben (Zentisekunden)
echo 1000 > /proc/sys/vm/dirty_writeback_centisecs
#Wie alt muessen "dirty changes" sein damit sie weg geschrieben werden
#Sinnvollerweise vm.dirty_expire_centisecs = vm.dirty_writeback_centisecs
echo 1000 > /proc/sys/vm/dirty_expire_centisecs
#Wie viel Prozent das RAMS duerfen von einem Prozess mir "dirty changes" gefuellt
#sein bevor der Prozess gezwungen wird diese Aenderungen zu schreiben
echo 55 > /proc/sys/vm/dirty_ratio
echo 30 > /proc/sys/vm/dirty_background_ratio
#Diese aktiviert oder deaktiviert die Toetung der OOM-Triggerung Aufgabe in
#Out-of-Memory-Situationen. Verbessert die Stabilität.
echo 1 > /proc/sys/vm/oom_kill_allocating_task
#vm.vfs_cache_pressure (0-250, 100 ist Standard) welche festlegt ob und wie
#sehr Prozesse ausgeswappt werden um Arbeitsspeicher fuer Cache frei zu machen.
echo 50 > /proc/sys/vm/vfs_cache_pressure
echo Speed Einstellungen vorgenommen!
Jetzt das Magic (Android Handy) am Rechner anschließen und die Zwei *.sh Files im gscript\ kopieren. Ausklinken und weiter nun am Android-Gerät arbeiten, USB-Verbindung ist aus.
Das Programm "GScript Lite" starten, Menu taste drücken -> Add script auswählen. Hier "Load file" klicken und check.sh auswählen, Name wird automatisch übernommen und jetzt auf Save klicken. Für speed.sh macht man das selbe und aufpassen das "Needs SU?" eingehakt ist.

Das war alles jetzt nur ausführen und das Magic läuft um einiges stabiler und schneller(meine subjektive Meinung).

Es ist auch möglich, diese Einstellungen als Autostart einzurichten aber mit ist so lieber.Im xda-Forum ist das ausführlicher erklärt und auch diskutiert.

Eine kurze Bemerkung zum Swapper. Wenn jemand das SWAP-File verwendet und sein Gerät am PC anschließen will. Unbedingt vorher das SWAP-File Ausschalten sonnst muss man nach dem die Verbringung aus ist, sein Handy neu starten wegen eine SD-Card Fehler(ein neu Start behebt die Fehler).

4. WEB-Links.
Optimierung des Swap unter Linux
Hauptspeicher Tuning
Optimierung für SD/CF-Karten
Linux-kernel Handbuch


Ich freue mich auf eure Kommentare und Parameter Vorschläge.

mfg Ivaylo.

Schlüsselwörter für die Suche:

SWAP, Swappiness, Swapper, dirty_writeback_centisecs, dirty_background_ratio, dirty_ratio, oom_kill_allocating_task, vfs_cache_pressure, Speicherverwaltung, Auslagerungsdatei, optimieren, sh Script, RAM, SD - Karte ...

P.S.: Sorry für Schreib und Grammatik-Fehler
!
logos-ivaylo ist offline   Mit Zitat antworten
Alt 20.07.2009, 17:22   #2 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Magic

Modell: HTC Magic

Registriert seit: 30.04.2009
Beiträge: 425
Abgegebene Danke: 1
Erhielt 7 Danke für 6 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

Hi, erstmal ein Lob für deine Arbeit, oder die von xda

Zu dem Inhalt des Links Optimierung des Swap unter Linux | Chrischan's krasseszeug.de kann ich leider nicht zustimmen, weder xda noch andere Seiten die man im Inet findet.

"Meine persönliche Empfehlung / Optimierung

Aus meiner Erfahrung herraus ist es sinnvoll diese zwei Kernelparameter auf bestimmten Systemen anzupassen.
Für ein Desktopsystem empfiehlt es sich den swappiness Wert auf 100 zu erhöhen. Gerade auf Desktopsystem liegen viele Prozesse schlafend sinnlos im Hintergrund herrum und sollten schnellstmöglich ausgeswappt werden. Bei Desktopsystem mit sehr viel Ram würde ich es jedoch bei dem Standardwert von 60 belassen."



Selbst xda hat wie ich den swappiness wert auf 10 runtergesetzt, weil es für ein Desktopsystem besser ist nicht allzuschell auszulagern, weil das Medium ( Platte / sdcard ) x mal langsamer ist als RAM.
Für Android vor allem mit HERO ROM ist es viel sinnvoller den Wert um die 10 zu benutzen und nicht wie in dem Artikel beschrieben ein Desktopsystem auf 100 zu setzen. Das wäre der sichere i/o Tod für jedes Desktop System , weil ja alles ausgelagert wird und bei jedem Zugriff erstmal von dem Speichermedium gelesen werden muss und ein ständiger swap/ram Austausch stattfindet.


Werde das Feintuning mal bei meinem Hero ROM testen, ist dazu ein sehr guter Testkandidat.


Gruß
__________________
Windows <- reboot
Linux <- be root
Magic ist offline   Mit Zitat antworten
Alt 20.07.2009, 19:03   #3 (permalink)
Neuer Benutzer
 
Benutzerbild von logos-ivaylo

Modell: Samsung Galaxy S Plus (I9001)

Registriert seit: 15.07.2009
Beiträge: 13
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

Hallo.

Das stimme ich dir voll zu. 100 ist viel zu viel für uns, das Heist eigentlich das mit dem auslagern gleich anfängt. Bei mir hat sich 5% am besten ausgewirkt. Von 0 rate ich ab, da wird dann nur das vfs_cache_pressure berücksichtigt was auch nicht das beste ist.

Und ja das stimmt auch, dass im Forum von xda auch eine Anleitung gibt an denen ich mich auch angelehnt habe. Ich habe es aber erst gestern gefunden, als ich das "sysctl.conf" beim Android nicht gefunden habe. Bei mir hat das leider nicht geklappt mit dem Anleitung von Ohsaka.

sysctl.conf für Diejenigen, die es versuchen wollen
Code:
vm.swappiness=5
vm.dirty_expire_centisecs=1000
vm.dirty_writeback_centisecs=1000
vm.dirty_background_ratio=30
vm.dirty_ratio=55
vm.oom_kill_allocating_task=1
vm.vfs_cache_pressure=50
Ich habe was noch vergessen. Die Standard Einstellungen sind wie im Bild unten.

lg Logos

P.S.(Edit): Für Hero ist möglich, dass "dirty_expire_centisecs" und "dirty_writeback_centisecs" auf 500 (5 Sekunde) zu setzen, sich besser auswirkt.
Miniaturansicht angehängter Grafiken
Speicher, SWAP, Stabilität, Optimierung für Android-standart_einstellungen.png  

Geändert von logos-ivaylo (20.07.2009 um 19:15 Uhr)
logos-ivaylo ist offline   Mit Zitat antworten
Alt 21.07.2009, 10:07   #4 (permalink)
Neuer Benutzer

Registriert seit: 21.07.2009
Beiträge: 1
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Lächeln AW: Speicher, SWAP, Stabilität optimierung für Android

Hallo Android User,

ich habe diesen Beitrag vorhin in meiner Referrer Liste gefunden. Ich selbst bin hin und her gerissen ob ich mir ein Android Handy oder doch besser das iPhone zulegen sollte... ich bin hier noch echt unschlüssig^^.

Aber nun zum Thema. Meine Empfehlung (im übrigen teilen diese auch die Kernelentwickler) geht von einem Standard Desktop Nutzer und dessen Verhalten aus. Ein Windows oder MacOS verhält sich vergleichsweise so wie wenn man unter Linux den Swappiness Wert auf 100 erhöht. Dies ist nicht ohne Grund so. Bei einem normalem Desktopsystem liegen schnell 300MB und mehr Prozesse im Hintergrund welche nicht genutzt werden. Bei Swappiness 100 werden diese sehr zeitnah ausgelagert. Der Ram steht nun z.B. für Lesecache zur Verfügung was den Rechner letztendlich beschleunigt. Nutzt man einen dieser ausgelagerten Prozesse muss dieser erst wieder eingelesen werden. Im Normalfall überwiegt der Nutzen des Lesecaches dem Aufwand des wieder einlesens (vor allem da HD's heutzutage recht schnell sind). Der Prozess bzw. dessen Speicherseiten liegen ja deshalb im Swap weil er nicht genutzt wurde!
Letztendlich hängt es vom Nutzer und seiner genutzen Hardware ab welche Einstellung wirklich gut für Ihn ist.

Zum Thema Swap bei einem Android Handy:
Ich rate davon ab Swap auf einer Speicherkarte dauerhaft zu verwenden. Jede SD Karte hat eine maximale Anzahl an Schreibzyklen je Block. Je nach Hersteller und Qualität der Karte variiert diese Zahl. Nach der Spezifikation der meisten Speicherkarten müssen diese nur 10.000 Schreibzyklen / Block aushalten. Die meisten besseren Karten vertragen 100.000 bis 1 Mio Schreibvorgänge. Durch die Nutzung von Swap können 100.000 Schreibzyklen auf einen Block recht schnell in ein paar Monaten zusammenkommen. Aus diesem Grund ist dieses Feature bei keinem Handy, PDA usw. aktiviert. Wer immer brav Backup's zieht und wem der Preis für eine neue Karte nichts ausmacht, dem kann das natürlich egal sein.
Da die Karten sich also verbrauchen, würde ich versuchen das Swappen so weit wie möglich zu vermeiden. D.h. vfs_cache_pressure und swappiness auf 0 setzen wodurch nur noch im Notfall geswappt wird.

Ich hoffe mal das hilft jemandem hier weiter.

PS: swappiness ist, soweit ich mich nicht irre, KEIN Prozentwert von irgend etwas. Es ist nur ein Faktor welcher in die Berechnung für das wann/was Swappen des Kernels eingeht. Diese "Formel" wurde in der Entwicklung des 2.6er Kernels mehrfach angepasst.
krasseszeug ist offline   Mit Zitat antworten
Alt 21.07.2009, 10:34   #5 (permalink)
Android Guru
 
Benutzerbild von parabolon

Modell: DZ

Registriert seit: 02.03.2009
Beiträge: 1.089
Abgegebene Danke: 657
Erhielt 99 Danke für 73 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

ich habe die swap-partition so xda-developers - View Single Post - [MOD]Auto Swap Extention bei mir aktiviert, wie schalte ich sie wieder aus?

thx


gruß

para
parabolon ist offline   Mit Zitat antworten
Alt 21.07.2009, 11:10   #6 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Magic

Modell: HTC Magic

Registriert seit: 30.04.2009
Beiträge: 425
Abgegebene Danke: 1
Erhielt 7 Danke für 6 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

Hallo @krasseszeug

Das ist uns bewusst, bezueglich der schreibzyklen auf sdcards und das es sehr schnell zum crash fuehren kann.
wurde auch schon in einem anderen Thread diskutiert.

Ja bei Android ist es so eine Sache.

bei PCs kommt es sehr stark auf die Hardware an ( RAM Groesse ) und bei einem System mit 8 GB RAM wird swap kaum genutzt sodas ein defaultwert von 60 auch in ordnung geht.

Letztendlich kommt es immer auf das Verhalten des Anwenders an und der Hardware.

########################

@parabolon

Bitte der Thread dient der Speicheroptimierung des Linuxkernels für Android.
Wende dich bitte an das xda Forum, wohher du die Anleitung hast oder öffne dazu einen neuen Thread.
Ich sehe wieder die Gefahr das weitere Diskussion komplett am Topic vorbeigehen.

Danke
__________________
Windows <- reboot
Linux <- be root
Magic ist offline   Mit Zitat antworten
Alt 21.07.2009, 11:42   #7 (permalink)
Android Guru
 
Benutzerbild von parabolon

Modell: DZ

Registriert seit: 02.03.2009
Beiträge: 1.089
Abgegebene Danke: 657
Erhielt 99 Danke für 73 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

Zitat:
Zitat von Magic Beitrag anzeigen
Bitte der Thread dient der Speicheroptimierung des Linuxkernels für Android.
Wende dich bitte an das xda Forum, wohher du die Anleitung hast oder öffne dazu einen neuen Thread.
Ich sehe wieder die Gefahr das weitere Diskussion komplett am Topic vorbeigehen.

Danke
habe gedacht genau darum geht es hier (siehe titel (...)SWAP).

bin nur halt kein hacker und dachte swap steht im titel, dann wirds passen...
scheinen aber zwei unterschiedliche welten zu sein, wenn ich dir richtig folgen kann...
parabolon ist offline   Mit Zitat antworten
Alt 21.07.2009, 11:58   #8 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Magic

Modell: HTC Magic

Registriert seit: 30.04.2009
Beiträge: 425
Abgegebene Danke: 1
Erhielt 7 Danke für 6 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

ok, dann mache einen restore deiner alte userinit und loesche die swappartition.

irgendwo hast du doch nach der anleitung eine swappartition aktiviert " swapon" .
mache es wieder rückgängig oder spiele dein komplettbackup mit "nandroid" ein.

falls du nichts dergleichen hast ( Backup ) dann solltest du solche Dinge in Zukunft lassen und dafür einen neuen Thread öffnen, in dem man Dir bestimmt Hilfe geben wird.

Gruß
__________________
Windows <- reboot
Linux <- be root
Magic ist offline   Mit Zitat antworten
Alt 21.07.2009, 13:15   #9 (permalink)
Neuer Benutzer
 
Benutzerbild von logos-ivaylo

Modell: Samsung Galaxy S Plus (I9001)

Registriert seit: 15.07.2009
Beiträge: 13
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

Zitat:
Zitat von parabolon Beitrag anzeigen
ich habe die swap-partition so xda-developers - View Single Post - [MOD]Auto Swap Extention bei mir aktiviert, wie schalte ich sie wieder aus?
Hallo, Parabalon.
Ich werde dir von SWAP-Partition dringend abraten. Warum? Beim eine Partition legst du ein bereich auf deine SD-Karte für Swapen fest und wie schon bekant beim swapen wird es so ziemlich oft auf die Karte zugegriffen. Das wiederum fürt zu eine schnelle Ausnutzung von genau diesem Bereich und zu einen relativ baldiges Versagen. Erlich gesagt wollte ich am anfach auch eine SWAP-Partition erstellen, aber nach gründliche Überlegung gelassen.

Mein Tip, benutze Swapper. Und so einmal an 2-3(Aber meistens kommt ehe nicht zu eine geplante aus/ein schalten da du immer dazwischen dein Magic am PC anschließt und da musst du vorher so wieso das SWAP ausmachen) Tage SWAP aus und wieder einschalten. So wird der SWAP-File im einen anderen bereich gespeichert und deine Karte ein bisschen gleichmäßigerer belastet. EDIT: Swapper kann auch Partitionen benutzen versuche es mit Swapper aus zuschalten. Wenn du es aber trotztem mit Partition machen willst benutze DIES hier und ab Punkt 4 Swapper mir Einstellungen für Partition.


@krasseszeug
Hallo auch dir krasseszeug.
Die Empfehlungen sind mir bekant aber wie du es geschrieben hast, sind die für Desktop und Server und nicht(noch nicht) für Handhelds. Und das war auch mein ziel für dieses Tehema, optimale werte für Magic(Android) zu ermitteln.
Zu Swappiness, also alles was ich bis jetzt gefunden habe ist eben ein an %-ten angelegter Wert(0 wird möglichst nicht geswapt, 100 möglichst gleich). Aber nicht fest gelegter es ist nur eine Empfehlung am Kernel, ab wann er mit dem ausswapen beginnen soll.

LINK 1, LINK 2, LINK 3 ...
Und hier, eine heiße Diskussion.

lg Logos

Geändert von logos-ivaylo (21.07.2009 um 13:24 Uhr)
logos-ivaylo ist offline   Mit Zitat antworten
Alt 21.07.2009, 13:25   #10 (permalink)
Android Guru
 
Benutzerbild von parabolon

Modell: DZ

Registriert seit: 02.03.2009
Beiträge: 1.089
Abgegebene Danke: 657
Erhielt 99 Danke für 73 Beiträge
Standard AW: Speicher, SWAP, Stabilität optimierung für Android

thx@ logos-ivaylo & magic

nandroid backup habe ich... war auch eher aus interesse gefragt, danke!

swapper werde ich dann auf meiner bestellten class 6 karte testen... habe momentan noch die standard-karte...

gruß

para
parabolon ist offline   Mit Zitat antworten
Antwort

Stichworte
swap, swapper, swappiness

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[Guide] Swap und Compcache für CyanogenMod Kranki Root / Hacking / Modding für T-Mobile G1 28 26.10.2010 13:43
Zipalign-Optimierung (App-Finetuning für das letzte bißchen Speed) Kranki Root / Hacking / Modding für T-Mobile G1 33 26.12.2009 08:09
Swap im internen Speicher eX1337 Root / Hacking / Modding für HTC Magic 0 27.08.2009 13:06
Wie viel Speicher für Apps? Friedrich HTC Hero / T-Mobile G2 Touch Forum 11 16.07.2009 20:14
[JFv1.51] Kein Speicher für Apps s_ry1 Root / Hacking / Modding für T-Mobile G1 3 11.06.2009 10:56




Du liest gerade: "Speicher, SWAP, Stabilität, Optimierung für Android" unter "Root / Hacking / Modding für HTC Magic" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.