Swap σε android / Compcache(zram) - Swapper2 - Κάρτες μνήμης

17 June 2006
10,675
Δεν είναι λίγες οι φορές που έχουμε μια συσκευή στα χέρια μας που για καλή μας τύχη υποστηρίζεται από σοβαρούς developers και θέλουμε να τρέχουμε τις τελευταίες εκδόσεις του android μόλις βγαίνουν.
Μέχρι την gingerbread με λίγο tweaking και οι συσκευές με 256 ΜΒ ram δούλευαν αξιοπρεπώς σε διανομές όπως η cyanogen. Όμως από την έκδοση ice cream sandwich και ειδικά στην jelly bean με 256 ΜΒ ram έχεις πρόβλημα και σε πολύ βασικό multitasking.

Παράδειγμα 1:
Συνδέομαι σε ασύρματο δίκτυο ξενοδοχείου
Για να ενεργοποιηθεί η σύνδεση με το internet πρέπει να βάλω username/password σε μια φόρμα μέσω browser
Ανοίγω το skype και συνδέομαι.
Πατάω το κουμπί των επαφών του τηλεφώνου μέσω skype, επιλέγω επαφή και έτσι μεταφέρεται το νούμερο του τηλεφώνου στο skype έτοιμο προς κλήση.
Με 256 ΜΒ ram σε jelly bean αυτό απλώς δεν γίνεται όσα πειράγματα και να κάνεις.
Παράδειγμα 2:
Είμαι στο αυτοκίνητο και θέλω να χρησιμοποιήσω κάποιο πλοηγό.
Το κινητό το έχω με το ηχοσύστημα του αυτοκινήτου συνδεδεμένο για να μπορώ να απαντώ σε κλήσεις μέσω handsfree.
Θέλω να ακούω και τον πλοηγό και μουσική. Έτσι ανοίγω ένα media player στο κινητό και επιλέγω μια playlist που μου αρέσει, ανοίγω και τον πλοηγό και στην ουσία μεταφέρω το σύνολο του ήχου με blutooth streaming στο ηχοσύστημα του αυτοκινήτου.
Ακόμη και συσκευές με 512 ΜΒ ram μερικές φορές χωρίς πειράγματα δυσκολεύονται.

Εφόσον έχουμε ως δεδομένο ότι δεν πρόκειται να αλλάξουμε συσκευή η επόμενη λογική λύση είναι η ενεργοποίηση swap αν αυτό προσφέρεται. Στις περισσότερες συσκευές προσφέρεται είτε άμεσα, είτε μέσω κάποιας διανομής σαν την cyanogen με ενεργοποίηση της δυνατότητας στον πυρήνα. Εκεί έχουμε ένα ακόμη δίλλημα:
1. Compcache/zram
Σε αυτή την περίπτωση δεσμεύουμε ένα ποσοστό της ram όπου αποθηκεύουμε συμπιεσμένα δεδομένα. Προφανώς απαιτεί επεξεργαστική ισχύ, όμως αξιοποιεί την ταχύτατη ram. Με ένα ποσοστό κοντά στο 20% συνήθως δεν παρατηρούνται ορατές αρνητικές επιπτώσεις στην ταχύτητα της συσκευής. Για παράδειγμα με compcache μια συσκευή με 256 ΜΒ ram μπορεί να τρέξει άνετα με multitasking αξιοπρεπές την gingerbread και μια συσκευή με 512 ΜΒ ram την jelly bean.
2. Swap στην κάρτα μνήμης
Εδώ αρχίζει και περιπλέκεται το πράγμα. Με τη χρήση του προγράμματος swapper2 μπορεί να ενεργοποιηθεί swap στην κάρτα μνήμης. Οι βασικές επιλογές είναι το μέγεθος και η τοποθεσία. Η τοποθεσία μπορεί να είναι ένα αρχείο στην κάρτα μνήμης, ή ακόμη καλύτερα η δημιουργία swap partition στην κάρτα μνήμης. Το μέγεθος έχει να κάνει κυρίως με τη χρήση που θα έχει η συσκευή. Όλα φαίνονται όμορφα ως εδώ όμως αρκετοί χρήστες μένουν με την απορία γιατί η συσκευή τους σέρνεται ενώ έχουν αγοράσει ολοκαίνουργια κάρτα μνήμης class 10 που ο πωλητής τους είπε ότι είναι ταχύτατη και όντως μεταφέρονται τα mp3 από τον υπολογιστή ταχύτατα.

Κάρτες μνήμης
Η κατηγοριοποίηση των καρτών μνήμης όσο αφορά την ταχύτητα γίνεται συνηθέστερα με κατηγοριοποίηση σε κλάσεις. Σήμερα η μέγιστη κλάση είναι η 10, η οποία διασφαλίζει τουλάχιστον 20 ΜΒ/s ανάγνωση και 10 MB/s εγγραφή δεδομένων. Επίσης πολλές παλαιότερες κάρτες που ήταν class 2, 4 ή 6 σήμερα θα ήταν κατηγοριοποιημένες σαν class 10 γιατί μπορούσαν από τότε να πιάσουν τέτοιες ταχύτητες, απλώς δεν υπήρχε η τεκμηρίωση ανώτερης κλάσης.Με αυτό το κριτήριο οι περισσότεροι αγοράζουν όπως είναι λογικό μια καινούργια κάρτα. Και όντως όταν μεταφέρουν ένα αρχείο βίντεο της τάξης του 1 GB ή mp3 η ταχύτητα είναι πραγματική και την βλέπουν. Όμως αν πάνε να ενεργοποιήσουν swap ή να κάνουν backup το σύνολο των δεδομένων συμπεριλαμβανομένων και μικρών αρχείων οι ταχύτητες μειώνονται δραματικά. Θα δώσω ένα παράδειγμα από μια δική μου κάρτα μνήμης 8GB Toshiba class 4 που αγοράστηκε κάπου 4 χρόνια πριν. Με τη χρήση του λογισμικού CrystalDiskMark μέτρησα:
Read: 21 MB/s

Write: 11 MB/s
Μια χαρά σκέφτηκα, αν πωλούταν σήμερα η ίδια κάρτα θα είχε σήμανση class 10. Όμως όταν μετά από backup είχα πάει να μεταφέρω ένα σύνολο αρκετών (κάπου 1000 αρχείων φωτογραφίας, μικρής ανάλυσης 640χ480 και πολύ μικρού μεγέθους αρχείου) η μεταφορά συνολικά 1 GB περίπου πήρε ώρες.
Στο CrystalDiskMark μπορείς να μετρήσεις και τις ταχύτητες εγγραφής/ανάγνωσης για αρχεία 4 Kb. Τα αποτελέσματα ήταν τα ακόλουθα:
Read 4Κb: 3.5 MB/s
Write 4 Kb: 0.018 MB/s
Το νούμερο για την εγγραφή είναι τρομακτικά χαμηλό και ευθύνεται για τις αργές ταχύτητες μεταφοράς δεδομένων. Φυσικά μια τέτοια κάρτα αν και class 10 ΔΕΝ μπορεί να χρησιμοποιηθεί για swap. Απαιτείται μια ταχύτητα το λιγότερο της τάξης του 1 MB/s για να μπορεί να χαρακτηρισθεί λειτουργική.
Με αναζήτηση στο διαδίκτυο θα δείτε ότι είναι ελάχιστα τα δεδομένα ταχύτητας για εγγραφή/ανάγνωση δεδομένων μεγέθους 4Κb που μας αφορούν. Η πληρέστερη συγκρίσιμη βάση που κατάφερα να εντοπίσω είναι στο παρακάτω φόρουμ:
http://forums.whirlpool.net.au/forum-replies.cfm?t=1582172
Όπως θα δείτε η σήμανση σε κλάσεις λέει πολύ λίγα, ενώ υπάρχουν αρκετές class 10 κάρτες που έχουν ταχύτητες κάτω από 0.020 KB/s σε 4Kb εγγραφές αρχείων με ελάχιστη τιμή τα 0.006 KB/s.
Για χρήση swap θα πρότεινα κάρτες με το λιγότερο δυνατότητα κοντά στα 2 MB/s εγγραφών 4 Κb.


Συμπέρασμα:

Όταν θέλουμε το λίγο παραπάνω φαίνεται να αρκεί η λύση του compcache. Αν η ram της συσκευής είναι πολύ μικρή και θέλουμε να τρέξουμε την πιο εξελιγμένη έκδοση android τότε αναγκαστικά πάμε στη λύση swap στην κάρτα μνήμης. Εκεί απαραίτητη προϋπόθεση είναι μια κάρτα μνήμης που να μπορεί να ανταπεξέλθει.

Από εκεί και πέρα είναι δυνατή η ενεργοποίηση ταυτόχρονα και compcache με swap στην κάρτα μνήμης. Επίσης υπάρχουν και μερικές προχωρημένες ρυθμίσεις όσο αφορά το swapper2. Αυτά θέλουν αρκετές δοκιμές για να καταλήξουμε τι είναι πιο γρήγορο σε σχέση με την rom που τρέχουμε και τις προσωπικές συνήθειες χρήσης της συσκευής μας.
 
Απλά παίρνεις μια συσκευή με 1Gb (που έχουν φθηνύνει αρκετά) και τελειώνει το θέμα. Ποιός ασχολείται με 256ram τώρα.....

Βρες μου συσκευή τέτοια με hardware πληκτρολόγιο μέχρι 4 ίντσες με ξεκλείδωτο bootloader και κατα προτίμηση με μεταλλικό περίβλημα και το πήρα χθες...Αλλά δυστυχώς δεν...
 
Εδώ τώρα εξαλείψαμε και τα τελευταία κουμπιά στην πρόσοψη και τα κάναμε εικονίδια… που πας ωρε? :D
Πλάκα κάνω
Η λύση παντός για το πληκτρολόγιο είναι η μεγαλύτερη οθόνη
Με 4”+ δε θα σου λείψει το hardware πληκτρολόγιο ΙΜΗΟ.


Αλλά, γενικότερα ανέβασες καλή μελέτη για τα swap μπράβο!

Πάλι άποψή μου είναι ότι με κινητό αντίστοιχης με την παραπάνω τεχνολογία καλό είναι να αποφεύγουμε android >3
Όσοι στριμώχνουν 4αρι σε τέτοιες συσκευές είναι λίγο ντιτζιτοφρίκουλες (δηλαδή οι περισσότεροι από εμάς)
Και γενικότερα άποψή μου είναι ότι το 4αρι θέλει έστω ένα πυρήνα >1GHz (λ.χ. dual core στα 700 δεν είναι αρκετά IMHO)
Και πάνω από 512 RAM

Πολύ ενδιαφέρον θα είχε αντίστοιχο πείραμα με το παραπάνω και σε ταμπλέτες με περιορισμένη RAM!!!
 
ότι και να κάνεις, αν τελειώσει η ram... κλάφτα. Δεν πα να είναι και η γρηγορότερη SD. Το μόνο που σώζει λίγο ειναι τα ramhacks, που αποδεσμεύουν λίγη μνήμη απο την GPU με αντίκτυπο φυσικά στα 3D games κτλ.
 
Εδώ τώρα εξαλείψαμε και τα τελευταία κουμπιά στην πρόσοψη και τα κάναμε εικονίδια… που πας ωρε? :D
Πλάκα κάνω
Η λύση παντός για το πληκτρολόγιο είναι η μεγαλύτερη οθόνη
Με 4”+ δε θα σου λείψει το hardware πληκτρολόγιο ΙΜΗΟ.


Αλλά, γενικότερα ανέβασες καλή μελέτη για τα swap μπράβο!

Πάλι άποψή μου είναι ότι με κινητό αντίστοιχης με την παραπάνω τεχνολογία καλό είναι να αποφεύγουμε android >3
Όσοι στριμώχνουν 4αρι σε τέτοιες συσκευές είναι λίγο ντιτζιτοφρίκουλες (δηλαδή οι περισσότεροι από εμάς)
Και γενικότερα άποψή μου είναι ότι το 4αρι θέλει έστω ένα πυρήνα >1GHz (λ.χ. dual core στα 700 δεν είναι αρκετά IMHO)
Και πάνω από 512 RAM

Πολύ ενδιαφέρον θα είχε αντίστοιχο πείραμα με το παραπάνω και σε ταμπλέτες με περιορισμένη RAM!!!

Καλά για την πλάκα μας τα κάνουμε όλα. Άσε που για να είμαι ειλικρινής μόνο σε ταξίδια το κινητό παίρνει φωτιά από χρήση. Σε καθημερινές συνθήκες εκτός από τηλέφωνο, άντε καμιά είδηση και χρήση πλοηγού.
Όσο για τον επεξεργαστή αν ρυθμίσεις τους governors για υπερχρονισμό σωστά δεν έχεις πρόβλημα για να έχεις ταχύτητα εκεί που πρέπει και εξοικονόμηση μπαταρίας όταν δεν την χρειάζεσαι. Εδώ στο κινητό του chuck norris που έχω το τρέχω στα 1000 ΜΗz από την πρώτη ημέρα απροβλημάτιστα, ενώ δουλεύει άνετα μέχρι τα 1250 MHz αλλά ζεσταίνεται πολύ αν κάνεις κάτι για πολύ ώρα.

Πάντως υπάρχουν 2 κινητά που είναι μέσα στα specs που ψάχνω:
Samsung Captivate Glide
Δεν το έχω βρει σε ούτε μία δημοπρασία στην Ε.Ε. και από ΗΠΑ αν δεν πάω ταξίδι δεν το αγοράζω γιατί είναι κορώνα γράμματα το τελωνείο και δεν θέλω να μου βγει διπλή τιμή από εκεί.
Motorola Droid 4
Σαν hardware είναι απίστευτο, είναι ακριβώς ότι θα ήθελα. ΌΜΩΣ έχει κλειδωμένο bootloader. Δεν ξαναμπαίνω στη διαδικασία να αγοράσω κλειδωμένη συσκευή και να ελπίζω σε κάποιον θεό developer να έχει κάνει το λάθος να αγοράσει την ίδια συσκευή και να περιμένω από αυτόν θαύματα.

Πάντως νομίζω ότι έχουν μειωθεί σημαντικά οι συσκευές με hardware πληκτρολόγιο λόγω κόστους. Περισσότερο υλικό, πιο περίεργος μηχανισμός για slide, ενώ στο άλλο βάζεις μια λίγο μεγαλύτερη οθόνη με κόστος χώμα σαν υλικό.
 
Last edited:
Να γράψω και κάτι καινούργιο.
Είναι γνωστό σε πολλές διανομές ότι μπορείς να φτιάξεις ένα ext partition στην κάρτα μνήμης σου για να μπορείς να κάνεις εγκατάσταση απεριόριστα όσα apps θέλεις.
Αυτό βέβαια από την άλλη έχει μια παρενέργεια να αφήνει σημαντικό χώρο στην εσωτερική μνήμη της συσκευής άδειο. Κάποιοι developers ήδη έχουν φτιάξει μερικά script όπου τοποθετούν το swap στην εσωτερική μνήμη, η οποία είναι σίγουρα πολύ ταχύτερη από οποιαδήποτε κάρτα μνήμης. Το έχω ενεργοποιήσει και πραγματικά οι καθυστερήσεις είναι ελάχιστες.