Δείτε εδώ τα πιο πρόσφατα μηνύματα από όλες τις περιοχές συζητήσεων, καθώς και όλες τις υπηρεσίες της AcroBase. H εγγραφή σας είναι γρήγορη και εύκολη. |
|
Κεντρική σελίδα |
Λίστα Μελών | Games | Σημειώστε όλα τα forums ως διαβασμένα | Σημειώστε όλα τα forums ως διαβασμένα |
|
|
Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
|
#2
|
|
|||
Απ' όσο γνωρίζω το swap είναι 'αναγκαίο' σε συστήματα με 'λίγη' μνήμη ή όταν θέλεις να κάνεις hibernate.
Τώρα το πόσο είναι 'λίγη' μνήμη εξαρτάται. 6gb είναι 'μπόλικη' εκτός κι αν κάνεις video-processing με τεράστια αρχεία ή τρέχεις πολλές εφαρμογές για αρκετό χρόνο, οπότε δεν νομίζω να δεις χρήση του swap υπό 'κανονικές συνθήκες'. Οι guru θα δώσουν λεπτομερείς αναφορές? |
#3
|
|
|||
Όχι απαραίτητα, αλλά γενικά είναι καλή ιδέα ακόμα κι αν έχεις περισσότερη RAM απ'ότι απαιτούν τα προγράμματα που τρέχεις. Αν έχεις, αυτό επιτρέπει στο σύστημα να ξεφορτωθεί σελίδες που δεν χρησιμοποιούνται και να ελευθερώσουν την αντίστοιχη RAM για buffers και cache, το οποίο βοηθά στην απόδοση.
Επίσης χρειάζεσαι swap (1 x RAM + λίγο ακόμα) αν θέλεις να κάνεις suspend to disk.
|
#4
|
|
||||
Ευχαριστώ, ποτέ δε βλάπτει λίγο (ακόμα) fine tuning
Κάτι λίγο πιο guru τώρα: Μπορώ να χρησιμοποιήσω το linuxswap partition (0x82) για swap στα windows (*) ή αντίστροφα (και μάλλον πιο εύκολα) κάποιο ntfs partition (0x07) ως linux swap; Σημειώνω πως (άσχετα με το linux) πάντα βάζω το windows swap σε δικό του partition. Έτσι τώρα έχω 4 partitions στο δίσκο: C: (ntfs), D: (ntfs με το pagefile.sys), ένα για το linux (ext4) και ένα linux swap. Μου φαίνεται λογικό να ενώσω με κάποιο τρόπο τα δύο swaps. (*) Δηλαδή ένα partition στο οποίο θα μπορεί να βρίσκεται το αρχείο pagefile.sys ώστε να μην πιάνει χώρο στο C: .
__________________
may you live in interesting times |
#5
|
|
||||
Γρηγορη απαντηση απο ασχετο: οχι, επειδη το swap partition φορμαριζεται ως 'swap filesystem' το οποιο δεν ειναι αναγνωρισιμο απο τα Windows
Τωρα αν μπορει να ισχυσει η δευτερη ιδεα σου, θα ξερει καλυτερα κανενας αλλος
__________________
Υπάρχουν σε όλα δύο απόψεις... Αυτή που λέω εγώ, και η σωστή! |
#6
|
|
||||
Σε συντομία: το Linux (σε αντίθεση με το DOS/Win/Win32) δεν το απασχολεί καθόλου το partition type byte στο partition table: αν του ζητήσεις να κάνει mount ext4 filesystem που ζει σε partition με τύπο 0x0b (Win95 FAT32), θα το κάνει, αρκεί το ext4 filesystem να είναι υγιές. Το κόλπο είναι να τρέχεις mkswap νωρίς στην έναρξη του Linux, ώστε να «φορμάρεις» το swap partition [1] για να μπορεί να το δει το Linux. Μετά, κατά το shutdown του Linux, αφού τα rc scripts κάνουν swapoff, φορμάρεις σε NTFS και φτιάχνεις το pagefile. Αυτή είναι η αρχή. Τώρα υπάρχουν διάφορες λεπτομέρειες, πχ τι βίτσια έχουν τα Windows με τη θέση, την οργάνωση κλπ ενός άδειου page file, αν το Linux σου χρησιμοποιεί το UUID (και όχι το /dev/sdaX) του swap partition για να το ενεργοποιήσει, κλπ κλπ. Και φυσικά αν για οποιοδήποτε λόγο το Linux δεν κάνει κανονικό shutdown, δεν θα έχεις pagefile στα Windows. [1] Το δικό μου mkswap γράφει ένα block 3kB στην αρχή του swap partition/file, κι αυτό είναι όλο. |
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην Morgul για αυτό το μήνυμα: | ||
Gildor (21-02-11) |
#7
|
|
||||
Μπορώ να κάνω mount ως swap το αρχείο pagefile.sys που ζει σε ntfs αν βάλω κατάλληλο entry στο fstab;
Τώρα έχει κάτι σαν: /dev/sda5 none swap sw 0 0 Ίσως μπορώ να βάλω: /<κάτι>/pagefile.sys none swap sw 0 0 Ή μήπως πρέπει πριν τη γραμμή αυτή να κάνω mount και το partition όπου βρίσκεται το pagefile.sys;
__________________
may you live in interesting times |
#8
|
|
||||
Το swap δε μπορείς να το κάνεις mount(2), μια και το mount είναι εργαλείο προσάρτησης filesystems στο directory tree σου.
Το ότι το swap εμφανίζεται μέσα στο fstab στο Linux είναι ενοχλητικό και απατηλό, και απομεινάρι άλλων εποχών. Αλλά αυτό είναι ψιλά γράμματα. Ναι, μπορείς να δηλώσεις το pagefile.sys ως swap file, αλλά τότε το swap σου θα είναι πιο αργό. Αφ'ενός θα περνάει μέσω filesystem (ένα swap partition είναι απλά ένα array από blocks, χωρίς file inodes, allocation tables κλπ), αφ'ετέρου θα χρησιμοποιεί ntfs που δεν είναι και το ταχύτερο filesystem για αυτή τη χρήση... Και φυσικά θα πρέπει να κάνεις mkswap στο pagefile.sys πριν το χρησιμοποιήσεις ως swap file, και θα πρέπει να το ξαναδημιουργείς όταν μπαίνεις στα Windows. Δεν ξέρω αν τα Windows έχουν κάποιο signature ή κάποια δομή που ελέγχουν πριν ανοίξουν το pagefile. Επίσης, αν θες να κάνεις suspend to disk, αυτή η χακιά είναι κακή ιδέα αν κάνεις ό,τι κάνουν αρκετοί: suspend Linux to disk, reboot σε Windows για κάποιο παιχνίδι, reboot, resume Linux from disk. Ευτυχώς το Linux ελέγχει την καλή υγεία του swap (ακόμα και στο resume) και το χειρότερο που μπορείς να πάθεις είναι να χάσεις το state του μηχανήματος και να πρέπει να κάνει fsck. |
#9
|
|
||||
Αυτό το swap στο fstab με μπέρδευε κι εμένα, δεν είναι προφανές γιατί μετά δεν εμφανίζεται το swap partition στο mounted list!
Πάντως μπορώ να κάνω το εξής: $ dd if=/dev/zero of=MySwap bs=1024 count=65536 $ mkswap MySwap # swapon MySwap Αυτό (φαίνεται ότι) προσθέτει το αρχείο MySwap στο ήδη υπάρχον swap μου. Άρα, θεωρητικά, θα μπορούσα να δώσω στο mkswap αντί για MySwap το pagefile.sys ..... πλην όμως στο manual λέει ότι το swap (file) πρέπει να είναι συνεχές, χωρίς τρύπες (holes) - και υποθέτω το dd φτιάχνει εξ ορισμού ένα τέτοιο αρχείο. Σύμφωνα με το defrag, το pagefile.sys, αν και είναι το μόνο αρχείο στο partition του, έχει για κάποιο άγνωστο λόγο τρύπες και άρα (μάλλον) δεν κάνει για τη δουλειά. Μπλέξιμο Πάντως για την ιστορία, τα windows δε φαίνεται να ασχολούνται με το pagefile.sys και τα περιεχόμενά του (suspend/hibernate εξαιρουμένων). Ακόμα κι αν δεν υπάρχει καθόλου ή αν σβήσω το partition του, το φτιάχνουν ξανά.
__________________
may you live in interesting times |
#10
|
|
||||
Τα sparse files είναι αρχεία που εμφανίζονται με μέγεθος (κατά πολυ) μεγαλύτερο του πραγματικού τους, στα filesystems που αυτό υποστηρίζεται (συνήθως διάφορα *nix filesystems). Πχ, σε ANSI C, μπορείς να φτιάξεις ένα sparse file έτσι: Κώδικας:
FILE *fp = fopen("/tmp/sparse-file", "wb"); fseek (fp, 1024 * 1024 * 1024 * 1024, SEEK_SET); fprintf (fp, "X"); fclose (fp); Αφού αναφέρεις το defrag, οι «τρύπες» που αναφέρεις δεν είναι οι τρύπες των sparse files αλλά το ότι το αρχείο (που είναι fully allocated) δεν είναι σε συνεχόμενα blocks στο δίσκο. Δεν ξέρω καν αν το NTFS υποστηρίζει sparse files, αλλά το fragmentation δεν ενοχλεί το Linux ως προς τα swap files. Απλά κάνει τα swap files πιο αργά από τα swap partitions. Μπλέξιμο Μεταξύ μας, πάντως, θα σου συνιστούσα να αφήσεις και 1–2 GB swap partition στην αρχή του δίσκου (χαμηλά cylinder numbers) με ψηλότερο priority γιατί θα είναι σημαντικά ταχύτερο από τα swap files, και δη σε NTFS. Ααααα, επίσης, δες πόσο stable είναι το NTFS read-write support στον kernel/distribution σου. Το τελευταίο που θες να πάθεις είναι swap corruption. |
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην Morgul για αυτό το μήνυμα: | ||
Archmage (23-02-11) |
#11
|
|
||||
# mkswap pagefile.sys # swapon pagefile.sys Με αρκετό malloc γονάτισα 6gb ram + 6gb linux swap + 4gb winswap Μετά το restart τα παράθυρα ξεκίνησαν κανονικά, χρησιμοποιώντας το ίδιο pagefile.sys χωρίς πρόβλημα. Βέβαια... επειδή το κυρίως OS είναι πλέον το linux αυτό δεν μπορεί να αποτελεί μόνιμη λύση (το swap partition είναι σαφώς καλύτερο), αλλά είναι ενδιαφέρον να το ξέρει κανείς! Ερώτηση: Είδα με τα διαδοχικά malloc ότι το σύστημα πρώτα γεμίζει τη ram στο 99%+ και μετά τα swap areas, πράγμα που σημαίνει ότι από ένα σημείο και μετά τα πάντα κολλάνε απελπιστικά. Υπάρχει τρόπος να αλλάξω την, ας πούμε, "πολιτική" του συστήματος για το swap; Μήπως μπορώ να του πω να βάζει "πιο πολλά" στα swap ή/και να αφήνει όση ram μπορεί ελεύθερη; Ή ίσως να αφήνει πάντα x% της ram ελεύθερο για.. κάτι; υγ: για την ιστορία, το ntfs υποστηρίζει sparse files
__________________
may you live in interesting times |
#12
|
|
|||
|
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην Qluser για αυτό το μήνυμα: | ||
Archmage (23-02-11) |
Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες) | |
Εργαλεία Θεμάτων | |
Τρόποι εμφάνισης | |
|
|