Προς το περιεχόμενο

Speeding up Debian.


SpyrosR

Προτεινόμενες αναρτήσεις

By default το Debian δε χρησιμοποιεί καμία από τις μεθόδους που υπάρχουν για να γίνει ένα Linux desktop ταχύτερο. Τι κάνουμε λοιπόν; Ως τώρα έχω κάνει τα εξής:

 

1. Xorg nice value

 

Επεξεργαζόμαστε το
/etc/X11/Xwrapper.config
και αλλάζουμε την τιμή του
nice_value
από
0
σε
-1
.

 

Αυτό θα δώσει υψηλότερη προτεραιότητα στον Xorg, έτσι ώστε όταν κάνουμε κάτι που απαιτεί υψηλή επεξεργαστική ισχύ, να μην έχουμε αυτή την αίσθηση πως όλα πάνε αργά (που κολλάει ο ποντικός, κλπ).

 

2. Re-ordering start-up scripts

 

Στο Debian τα start-up scripts δεν ακολουθούν το LSB standard, οπότε μερικά ξεκινάνε, σταματάνε και ξαναξεκινάνε αρκετές φορές κατά το boot. Αρκεί να εγκαταστήσουμε το
insserv
:

 

# aptitude install insserv

 

3. Allow parallel starts

 

Όταν ένα service αργεί να ξεκινήσει, τότε καθυστερούν όλα τα υπόλοιπα που θα ξεκινούσαν μετά από αυτό. Οπότε, πρέπει να τα κάνουμε να ξεκινούν παράλληλα:

 

# echo 'CONCURRENCY=shell' >> /etc/default/rcS

 

4. Application start-up speed

 

Εγκαθιστούμε το
preload
:

 

# aptitude install preload

 

Τρέχει σα daemon και "μαθαίνει" ποιες είναι οι εφαρμογές που χρησιμοποιούμε συχνότερα ώστε να κάνει caching αυτών στη RAM. Ναι, την αγοράσαμε για να τη χρησιμοποιούμε, όχι για να έχουμε 4GB μνήμη να κάθονται! Μπορεί να κάνει πιο αργή τη διαδικασία του boot αλλά η βοήθειά του είναι πολύτιμη στο desktop.

 

5. Disabling file/directory access time recording

 

Τα λέει όλα ο Ingo Molnar, το "δεξί χέρι" του Linus Torvalds στην ομάδα development του Linux kernel:

 
I cannot over-emphasize how much of a deal it is in practice. Atime updates are by far the biggest IO performance deficiency that Linux has today. Getting rid of atime updates would give us more everyday Linux performance than all the pagecache speedups of the past 10 years, _combined_.

 

It's also perhaps the most stupid Unix design idea of all times. Unix is really nice and well done, but think about this a bit: 'For every file that is read from the disk, lets do a ... write to the disk! And, for every file that is already cached and which we read from the cache ... do a write to the disk!'

 

Απενεργοποιείται πολύ απλά, αν επεξεργαστούμε το
/etc/fstab
μας και προσθέσουμε την επιλογή noatime στις παραμέτρους για το mounting. Για παράδειγμα:

 

/dev/sda1 / ext3 defaults,
noatime
,errors=remount-ro 0 1

 

6. Kill disk caching

 

Για ακόμα μία φορά, αγοράσαμε τη RAM για να τη χρησιμοποιήσουμε! Όχι για να την έχουμε να κάθεται, έχοντας σε χρήση 150 MB από τα 4GB.

 

Το Debian θα κάνει caching των δεδομένων στο δίσκο, για να απελευθερώσει RAM. Αυτό
δε
το θέλουμε!

 

# echo 'vm.swappiness=
Χ
' >> /etc/sysctl.conf

 

...όπου Χ, μια τιμή μεταξύ 0 και 100. Το 0 σημαίνει ότι ο πυρήνας θα προσπαθήσει να κρατήσει τα πάντα στη RAM, ενώ 100, θα κάνει για τα πάντα caching στο δίσκο, απελευθερώνοντας μνήμη.

 

Εξ ορισμού το Debian δίνει τιμή 60. Μια τιμή γύρω στο 20 θεωρείται ιδανική, ενώ για laptops (για λόγους κατανάλωσης) θα εξυπηρετούσε ακόμα χαμηλότερη.

 

----------------------------------------------------------------------------------------------------------------------------------

 

Όποιος έχει να προσθέσει κάποια μέθοδο, ελεύθερος. :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

200px-Tipohat.jpg

 

Πολύ ωραίος. Πέραν του πόσο πραγματικά βοηθάνε στις επιδόσεις του συστήματος (που μου χρειάζεται με την αύξηση της ram στα 4gb να την εκμεταλλευτώ), τα παρουσιάζεις και με τρόπο σαφή και "διδακτικό". Έμαθα πράγματα για το linux που δε γνώριζα διαβάζοντας ένα ποστ :P.

 

Mπράβο και ευχαριστώ fellow elitist debian user.

 

Διευκρινιστική ερώτηση, στα 3 και 6, προσθέτουμε τις αντίστοιχες γραμμές στα αρχεία που παραθέτεις; Μήπως το κατάλαβα λάθος έτσι που το γραψες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Διευκρινιστική ερώτηση, στα 3 και 6, προσθέτουμε τις αντίστοιχες γραμμές στα αρχεία που παραθέτεις; Μήπως το κατάλαβα λάθος έτσι που το γραψες

 

Επί της ουσίας ναι, απλά το με την echo γίνεται μόνη της η δουλειά. :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έψαχνα σήμερα το μεσημέρι στο Ιντερνετ να βρώ τρόπους για να βελτιστοποιήσω το Ubuntu. Γενικότερα δεν κάνω tweaking, το όλο θέμα ξεκίνησε απ' το γεγονός ότι σ' ένα screenlet που έχω η κατανάλωση μνήμης δεν έχει πάει ποτέ πάνω από ~28%. Έψαχνα λοιπόν τρόπο να το αλλάξω αυτό. Να ωθήσω το λειτουργικό και τα προγράμματα να χρησιμοποιούν όσο περισσότερη μνήμη μπορούν, μετά ας πάνε στο swap.

 

Βρήκα το εξής σ' αυτό το site (tuning swapiness):

>
I will reduce swappiness to 15, which means that swap memory (slow for it is in the hard drive) will only be used when 85% or more of the RAM is in use.

1. # sudo gedit /etc/sysctl.conf (add the line “vm.swappiness = 15″ and save the file)
2. # sudo swapoff -a
3. # sudo swapon -a

 

Για την εκκίνηση του λειτουργικού, βρήκα αυτό που λέει ότι χρησιμοποιεί καλύτερα τους διπύρηνους (έχω 2πύρηνο στο λαπτοπ):

>
Concurrent Booting

Concurrent booting allows Ubuntu to take full advantage of dual-core processors, as well as processors that hyperthread or multithread.

These settings are located in your /etc/init.d/rc file.
sudo gedit /etc/init.d/rc
Look for CONCURRENCY=none and change it to:
CONCURRENCY=shell

 

Βέβαια εντάξει, το καλύτερο είναι να κλείσεις το compiz, screenlets κλπ αλλά το κατιτίς μας eyecandy το θέλουμε. Anyway, κυρίως το θέμα της μνήμης ήθελα να δούμε. Κάπου είχα διαβάσει ότι όλ' αυτά τα προγράμματα εικονικά σου δείχνουν τη μνήμη. Φαντάζομαι πάντως υπάρχει τρόπος να το στριμώξουμε λίγο καλύτερα.

 

Γνώμες;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Υπάρχει περίπτωση κάποια απ' αυτές τις αλλαγές να "ρίξουν" το σύστημα; Το λέω γιατί αφ' ενός δεν έχω πολλή εμπειρία σε troubleshooting κι αφ' ετέρου χρησιμοποιώ Ubuntu Jaunty (λογικά δε θα 'χει πρόβλημα).

 

Για την ακρίβεια, θα εφαρμόσω όλα εκτός του 5 γιατί δε ξέρω τί κάνει...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

τα δοκίμασε κανείς; πολύ ενδιαφέρον! αν και δεν θα με βολέψουν όλα όπως έχω μόνο 1gb ram!

 

"Πρόβλημα" είχα μόνο με firefox και λίγο το plasma σαν να καθυστερούσε. Ο firefox πλέον είναι αισθητά πιο "ξεκολλημένος". Όχι γρήγορος ως browser, αλλά κάνα δυο κολλήματα που είχε στα πολλά tabs έχουν εξομαλυνθεί. Το plasma τα ίδια. Αναφέρομαι σε αισθητές αλλαγές με το μάτι. Σε νούμερα δεν ξέρω (δεν ασχολήθηκα).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μην περιμένετε και κάτι συγκλονιστικό. Από αυτά που αναφέρει ο SpyrosR νομίζω το noatime θα κάνει τη σημαντικότερη διαφορά, και ίσως και το preload. Χρήσιμο μπορεί να φανεί σε κάποιους και το prelink, αν και πρέπει να εκτελείται ξανά μετά από κάποιο update ενός prelinked προγράμματος.

 

Οι αλλαγές στα start-up scripts δε νομίζω να αλλάξουν κάτι σημαντικά, βέβαια αν για κάποιο λόγω κάνετε reboot κάθε λίγο και λιγάκι ίσως αξίζουν (προσωπικά κάνω reboot 1-2 φορές το τρίμηνο, υπάρχει και το suspend/hibernate : Ρ).

 

SpyrosR,

Δεν καταλαβαίνω τι είναι αυτό που γράφεις με το disk caching. Κατ' αρχάς, caching δεν κάνεις από τη RAM στο δίσκο, αλλά από το δίσκο στη RAM, και είναι κάτι που κάνει ο linux kernel αρκετά καλά μάλιστα (και πάνω σε αυτό στηρίζονται προγράμματα όπως το preload). Ένα ωραίο αρθράκι σχετικά είναι το Is swap space obsolete?. Αυτό που περιγράφεις είναι απ' ότι φαίνεται το πόσο "εύκολα" θα βγάζει ο kernel pages από τη RAM και θα τα βάζει στη swap, αλλά δεν με πείθεις γιατί να αλλάξω τη συμπεριφορά που έχει τώρα (δεν έχω δει ποτέ να βγάζει κάτι από τη RAM αν δεν έχει σχεδόν γεμίσει). Μήπως έχεις κάποιο σχετικό link;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...