Swapping: Swap αρχεία
Description: This is issue 22 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #22
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 2. Swap αρχεία Ένα swap αρχείο είναι ένα κανονικό αρχείο. Δεν είναι με κανένα τρόπο ειδικό προς τον πυρήνα. Το μόνο πράγμα που νοιάζει τον πυρήνα είναι να μην έχει καθόλου "τρύπες", και να είναι έτοιμο για χρήση με την εντολή mkswap. Πρέπει, πάντως, να διαμένει σε έναν τοπικό δίσκο του συστήματος. Δεν μπορεί να διαμένει σε ένα σύστημα αρχείων που έχει προσαρτηθεί μέσω NFS για λόγους υλοποίησης. Το κομμάτι σχετικά με τις "τρύπες" είναι σημαντικό. Το αρχείο swap κρατάει τον χώρο του δίσκου έτσι ώστε ο πυρήνας να μπορεί γρήγορα να swap out μια σελίδα χωρίς να χρειάζεται να παέι μέσω όλων των πραγμάτων που είναι χρήσιμα όταν καταχωρεί ένα sector δίσκου σε ένα αρχείο. Ο πυρήνας απλώς χρησιμοποιεί όποιους τομείς έχουν ήδη καταχωρηθεί στο αρχείο. Επειδή μια "τρύπα" σε ένα αρχείο σημαίνει πως δεν υπάρχουν καθόλου τομείς δίσκου καταχωρημένοι (για αυτό το μέρος μέσα στο αρχείο), δεν είναι καλό για τον πυρήνα να προσπαθεί να τους χρησιμοποιεί. ### 2.1 Ορισμός swap αρχείου Ένας καλός τρόπος για να δημιουργήσετε το swap αρχείο χωρίς "τρύπες" είναι μέσω της ακόλουθης εντολής:
    dd if=/dev/zero of=<swap αρχείο> bs=<bytes> count=<blocks>
if=/dev/zero : input file, διαβάζει από αυτό το αρχείο of=<swap αρχείο> : output file, γράφει σε αυτό το αρχείο bs=<bytes> : block size, διαβάζει και γράφει <bytes> bytes κάθε φορά count=<blocks> : αντιγράφει μόνο <blocks> blocks από αυτά που διαβάζει Θα εμφανιστεί το μήνυμα:
    <blocks>+0 records in
    <blocks>+0 records out
Είναι καλύτερα το μέγεθος να είναι πολλαπλάσιο του 4, επειδή ο πυρήνας γράφει σελίδες μνήμης, που είναι 4ΚΒ σε μέγεθος. Αν το μέγεθος δεν είναι πολλαπλάσιο του 4, το τελευταίο ζευγάρι των kilobytes μπορεί να είναι αχρησιμοποίητο. Ειδικότερα, για swap αρχείο το μέγεθος είναι καλό να είναι πολλαπλάσιο του inode μεγέθους, συνήθως 1024 ή 2048 (ή ακόμη και 4096), γιατί 1block=1KB=1024 bytes άρα τιμές πολλαπλάσιες του 1024. ### 2.2 Ρόλος του /dev/zero Το /dev/zero είναι ένα ειδικό αρχείο που κατά την ανάγνωσή του, επιστρέφει \0 χαρακτήρες. Είναι μια συσκευή που όταν την διαβάζετε παίρνετε άπειρα ASCII 0. Είναι χρήσιμη ως πηγή "κενών" bytes, όπως ακριβώς και πολλοί επεξεργαστές RISC έχουν ένα zero καταχωρητή που είναι πάντα 0. Δημιουργείται με:
    mknod -m 666 /dev/zero c 1 5
    chown root.mem /dev/zero
Επόμενο Προηγούμενο Περιεχόμενα