Acrobase  

Καλώς ήρθατε στην AcroBase.
Δείτε εδώ τα πιο πρόσφατα μηνύματα από όλες τις περιοχές συζητήσεων, καθώς και όλες τις υπηρεσίες της AcroBase.
H εγγραφή σας είναι γρήγορη και εύκολη.

Επιστροφή   Acrobase > Υπολογιστές και Τεχνολογία > Πληροφορική και Επικοινωνία > Linux
Ομάδες (Groups) Τοίχος Άρθρα acrobase.org Ημερολόγιο Φωτογραφίες Στατιστικά

Notices

Δεν έχετε δημιουργήσει όνομα χρήστη στην Acrobase.
Μπορείτε να το δημιουργήσετε εδώ

Απάντηση στο θέμα
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 20-02-11, 18:25
Το avatar του χρήστη Archmage
Archmage Ο χρήστης Archmage δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 14-03-18 00:30
Φύλο: Άντρας
Swap

Υπάρχει κάποιος λόγος για να έχω swap; Στο νετ διαβάζω ότι "πρέπει" να έχω swap διπλάσιο από τη μνήμη ram, όμως αφενός έχω 6gb ram (σε 64bit OS), αφετέρου η χρήση του swap πχ όπως λέει το top είναι πάντα μηδέν:

Mem: 6117652k total, 1345584k used, 4772068k free, 183744k buffers
Swap: 6743036k total, 0k used, 6743036k free, 570780k cached

Στο παραπάνω φαίνεται μάλιστα ότι έχω μειώσει το αρχικό swap που ήταν κάπου 12gb.

Μήπως αυτά που λένε είναι "κατάλοιπα" από τα windows ή υπάρχει όντως κάποιος άλλος λόγος που χρειάζεται swap>0;
__________________
may you live in interesting times
Απάντηση με παράθεση
  #2  
Παλιά 20-02-11, 20:03
alan Ο χρήστης alan δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 17-02-21 22:33
Η διαθεσή μου τώρα:
Απ' όσο γνωρίζω το swap είναι 'αναγκαίο' σε συστήματα με 'λίγη' μνήμη ή όταν θέλεις να κάνεις hibernate.
Τώρα το πόσο είναι 'λίγη' μνήμη εξαρτάται.
6gb είναι 'μπόλικη' εκτός κι αν κάνεις video-processing με τεράστια αρχεία ή τρέχεις πολλές εφαρμογές για αρκετό χρόνο, οπότε δεν νομίζω να δεις χρήση του swap υπό 'κανονικές συνθήκες'.

Οι guru θα δώσουν λεπτομερείς αναφορές?
Απάντηση με παράθεση
The Following 2 Users Say Thank You to alan For This Useful Post:
Archmage (21-02-11), Gildor (20-02-11)
  #3  
Παλιά 20-02-11, 20:48
Qluser Ο χρήστης Qluser δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 24-02-23 19:01
Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Υπάρχει κάποιος λόγος για να έχω swap;
Όχι απαραίτητα, αλλά γενικά είναι καλή ιδέα ακόμα κι αν έχεις περισσότερη RAM απ'ότι απαιτούν τα προγράμματα που τρέχεις. Αν έχεις, αυτό επιτρέπει στο σύστημα να ξεφορτωθεί σελίδες που δεν χρησιμοποιούνται και να ελευθερώσουν την αντίστοιχη RAM για buffers και cache, το οποίο βοηθά στην απόδοση.

Επίσης χρειάζεσαι swap (1 x RAM + λίγο ακόμα) αν θέλεις να κάνεις suspend to disk.

Στο νετ διαβάζω ότι "πρέπει" να έχω swap διπλάσιο από τη μνήμη ram
Αυτό είναι λίγο cargo cult και δεν ισχύει για σύγχρονο Linux. Κάποια άλλα *nix έκαναν map τη RAM σε swap οπότε πρέπει να έχουν swap >= RAM. Επίσης υπήρχε ένα bug στις αρχές του Linux 2.4 που μπορούσε να προκαλέσει crash αν το swap ήταν μικρότερο από 2 x RAM αλλά αυτό δεν ισχύει εδώ και πολλά χρόνια.
Απάντηση με παράθεση
The Following 3 Users Say Thank You to Qluser For This Useful Post:
Archmage (21-02-11), Gildor (20-02-11)
  #4  
Παλιά 21-02-11, 01:41
Το avatar του χρήστη Archmage
Archmage Ο χρήστης Archmage δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 14-03-18 00:30
Φύλο: Άντρας
Ευχαριστώ, ποτέ δε βλάπτει λίγο (ακόμα) 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  
Παλιά 21-02-11, 01:56
Το avatar του χρήστη Gildor
Gildor Ο χρήστης Gildor δεν είναι συνδεδεμένος
High Elf
 

Τελευταία φορά Online: 08-05-17 14:17
Φύλο: Δεν έχω αποφασίσει ακόμα
Η διαθεσή μου τώρα:
Γρηγορη απαντηση απο ασχετο: οχι, επειδη το swap partition φορμαριζεται ως 'swap filesystem' το οποιο δεν ειναι αναγνωρισιμο απο τα Windows

Τωρα αν μπορει να ισχυσει η δευτερη ιδεα σου, θα ξερει καλυτερα κανενας αλλος
__________________
Υπάρχουν σε όλα δύο απόψεις...
Αυτή που λέω εγώ, και η σωστή!
Απάντηση με παράθεση
  #6  
Παλιά 21-02-11, 14:04
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Κάτι λίγο πιο guru τώρα: Μπορώ να χρησιμοποιήσω το linuxswap partition (0x82) για swap στα windows (*) ή αντίστροφα (και μάλλον πιο εύκολα) κάποιο ntfs partition (0x07) ως linux swap;.
Αρχική Δημοσίευση από Gildor Εμφάνιση μηνυμάτων
Γρηγορη απαντηση απο ασχετο: οχι, επειδη το swap partition φορμαριζεται ως 'swap filesystem' το οποιο δεν ειναι αναγνωρισιμο απο τα Windows
Παλιά (εποχές Linux 1.1–2.0) υπήρχαν τέτοιες τεχνικές (μια και οι δίσκοι ήταν μικροί), και μάλιστα μία τουλάχιστον ήταν τεκμηριωμένη και στο σχετικό Linux Howto. Τώρα δεν ξέρω τι συμβαίνει, αλλά Το Google Θα Ξέρει.

Σε συντομία: το 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  
Παλιά 21-02-11, 15:53
Το avatar του χρήστη Archmage
Archmage Ο χρήστης Archmage δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 14-03-18 00:30
Φύλο: Άντρας
Μπορώ να κάνω 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  
Παλιά 21-02-11, 19:45
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Το 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.
Απάντηση με παράθεση
The Following 2 Users Say Thank You to Morgul For This Useful Post:
Archmage (21-02-11), Gildor (21-02-11)
  #9  
Παλιά 21-02-11, 21:30
Το avatar του χρήστη Archmage
Archmage Ο χρήστης Archmage δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 14-03-18 00:30
Φύλο: Άντρας
Αυτό το 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  
Παλιά 22-02-11, 18:33
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 21:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Αυτό το swap στο fstab με μπέρδευε κι εμένα, δεν είναι προφανές γιατί μετά δεν εμφανίζεται το swap partition στο mounted list!
Ακριβώς... κάτι σαν το /etc/swaps κάποιων άλλων *nix θα ήταν προτιμότερο γιατί μετά δεν έχεις την αξίωση να χρησιμοποιείς τα ίδια εργαλεία (πχ mount, df, /proc/mounts).


Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Πάντως μπορώ να κάνω το εξής:

$ 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 φτιάχνει εξ ορισμού ένα τέτοιο αρχείο.
Αυτό ακριβώς που φαίνεται κάνει. Και ναι, δε μπορείς να χρησιμοποιήσεις swap files αν είναι sparse files. Αλλά για να φτιάξεις sparse files πρέπει να καλέσεις το dd(1) πολύ διαφορετικά.

Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Σύμφωνα με το defrag, το pagefile.sys, αν και είναι το μόνο αρχείο στο partition του, έχει για κάποιο άγνωστο λόγο τρύπες και άρα (μάλλον) δεν κάνει για τη δουλειά.
Sparse files ≠ fragmented files.

Τα 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);
Αυτό θα σου φτιάξει ένα αρχείο 1TB + 1 byte, το οποίο όμως θα καταλαμβάνει 1 byte στο δίσκο (οκ, στην πραγματκότητα θα είναι ένα block, μια και το ελάχιστο δυνατό allocation size σε ext3 είναι ένα filesystem block). Αν επιχειρήσεις να το διαβάσεις, όμως, θα πάρεις 1TB ASCII 0x00 (NULs) και ένα X στο τέλος.



Αφού αναφέρεις το defrag, οι «τρύπες» που αναφέρεις δεν είναι οι τρύπες των sparse files αλλά το ότι το αρχείο (που είναι fully allocated) δεν είναι σε συνεχόμενα blocks στο δίσκο.

Δεν ξέρω καν αν το NTFS υποστηρίζει sparse files, αλλά το fragmentation δεν ενοχλεί το Linux ως προς τα swap files. Απλά κάνει τα swap files πιο αργά από τα swap partitions.


Μπλέξιμο

Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Πάντως για την ιστορία, τα windows δε φαίνεται να ασχολούνται με το pagefile.sys και τα περιεχόμενά του (suspend/hibernate εξαιρουμένων). Ακόμα κι αν δεν υπάρχει καθόλου ή αν σβήσω το partition του, το φτιάχνουν ξανά.
Τέλεια! Οπότε αν βάλεις ένα mkswap /foo/bar/pagefile.sys σε ένα RC file που εκτελείται μετά το mount -a αλλά πριν το swapon -a, θα έχεις «δωρεάν» swap space.

Μεταξύ μας, πάντως, θα σου συνιστούσα να αφήσεις και 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  
Παλιά 23-02-11, 00:00
Το avatar του χρήστη Archmage
Archmage Ο χρήστης Archmage δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 14-03-18 00:30
Φύλο: Άντρας
Αρχική Δημοσίευση από Morgul Εμφάνιση μηνυμάτων
αν βάλεις ένα mkswap /foo/bar/pagefile.sys σε ένα RC file που εκτελείται μετά το mount -a αλλά πριν το swapon -a, θα έχεις «δωρεάν» swap space
Λοιπόν.. δουλεύει. Δηλαδή όντως μπορώ να χρησιμοποιήσω το pagefile.sys ως swap στο linux, κάνοντας mount το partition όπου βρίσκεται και μετά

# 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 ελεύθερο για.. κάτι;
Αρχική Δημοσίευση από Morgul Εμφάνιση μηνυμάτων
Μεταξύ μας, πάντως, θα σου συνιστούσα να αφήσεις και 1–2 GB swap partition στην αρχή του δίσκου (χαμηλά cylinder numbers) με ψηλότερο priority γιατί θα είναι σημαντικά ταχύτερο από τα swap files, και δη σε NTFS
Νομίζω πως όχι αν είναι SSD


υγ: για την ιστορία, το ntfs υποστηρίζει sparse files
__________________
may you live in interesting times
Απάντηση με παράθεση
  #12  
Παλιά 23-02-11, 19:33
Qluser Ο χρήστης Qluser δεν είναι συνδεδεμένος
Μέλος
 

Τελευταία φορά Online: 24-02-23 19:01
Αρχική Δημοσίευση από Archmage Εμφάνιση μηνυμάτων
Υπάρχει τρόπος να αλλάξω την, ας πούμε, "πολιτική" του συστήματος για το swap; Μήπως μπορώ να του πω να βάζει "πιο πολλά" στα swap
Δες το swappiness στο Documentation/sysctl/vm.txt και/ή proc(5).

ή/και να αφήνει όση ram μπορεί ελεύθερη; Ή ίσως να αφήνει πάντα x% της ram ελεύθερο για.. κάτι;
Η ελεύθερη RAM γενικά είναι σπατάλη, αν το σύστημα δεν έχει κάτι άλλο να βάλει εκεί καλύτερα να αφήσει τα περιεχόμενα όπως είναι.
Απάντηση με παράθεση
Οι παρακάτω χρήστες έχουν πει 'Ευχαριστώ' στον/στην Qluser για αυτό το μήνυμα:
Archmage (23-02-11)
Απάντηση στο θέμα


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες)
 
Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι σε λειτουργία

Που θέλετε να σας πάμε;


Όλες οι ώρες είναι GMT +3. Η ώρα τώρα είναι 15:34.



Forum engine powered by : vBulletin Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.