Μείωση του χρόνου για κλείσιμο (shut-down) του Mac
October 21st, 2013 5 commentsΟι καθυστερήσεις κατά το κλείσιμο του Mac απασχολούν αρκετούς χρήστες, ενώ σε συζητήσεις στο δίκτυο ψέγεται το Mountain Lion. Παράλληλα αναμένεται να δώσει λύση το επερχόμενο Mavericks.
Ανεξάρτητα του κατά πόσο η συγκεκριμένη προσέγγιση ανταποκρίνεται στην πραγματικότητα ή όχι -σε shut down του Mac- το OS X προσπαθεί να κλείσει ομαλά εφαρμογές και background services. Όμως υπό κάποιες συνθήκες η διαδικασία μπορεί να πάρει ασυνήθιστα μακρύ χρόνο, όπου το σύστημα μπαίνει σε αναμονή ακόμη και για αρκετά λεπτά έως ότου το μηχάνημα κλείσει.
Μερικές φορές το αίτιο είναι ότι το σύστημα περιμένει για κάποιο save ενός αρχείου, ενώ συνήθως υπαίτιες είναι background services που σταμάτησαν να ανταποκρίνονται και το σύστημα είναι σε αναμονή για προκαθορισμένο χρόνο προτού τις αναγκάσει να κλείσουν.
Γενικά το OS X θα πρέπει να κλείσει μέσα σε μερικά δεύτερα, συνεπώς αν το μηχάνημα σας επιμένει σε εκτεταμένους χρόνους αυτό παραπέμπει σε θέμα που πρέπει να αντιμετωπισθεί. Ενίοτε αυτό μπορεί να είναι μια ή δύο προβληματικές περιφερειακές συσκευές, ή κάποια αλλοιωμένη διάταξη του συστήματος. Οπότε συνιστάται να τρέξετε την διαδικασία ενός βασικού troubleshooting του συστήματος.
Όμως όταν αντιμετωπίζετε συχνά παρατεταμένα shutdowns σε τυχαία χρονικά διαστήματα, τότε μπορεί να προκαλούνται ευκαιριακά από το σύστημα που παραμένει σε αναμονή έως ότου κλείσουν κάποια background processes.
Εγγενώς, το σύστημα περιμένει τα background processes να κλείσουν από μόνα τους, αν όχι τους στέλνει μετά από 20″ ένα “kill signal”, ενώ αν το χρονικό όριο (timeout) για κλείσιμο αυτών των processes λήγει σε διαφορετικά διαστήματα το shutdown μπορεί να επιμηκυνθεί σε αρκετά λεπτά.
Συνεπώς για κάποια background processes που τείνουν να κολλάνε περισσότερο από άλλα, απλά μεταβάλλοντας τον εγγενή χρόνο των 20″ σε μικρότερη τιμή θα υποδειχθεί στο σύστημα να τα κλείσει νωρίτερα. Επισημαίνεται ότι ότι το force shut down των processes δεν είναι η καλύτερη πρακτική, να παρακάμπτεται δηλαδή το εγγενές όριο των 20″ οπότε το σύστημα στέλνει το “kill signal”.
Οι background services που φαίνεται να είναι οι συνήθεις ύποπτες γι’ αυτά τα timeouts είναι αυτές που διαχειρίζονται επικοινωνίες, πιστοποιήσεις, δραστηριότητες στον δίσκο και στο δίκτυο, όπως ΑppleEvents, securitid, mDNSResponder, diskarbitrationd, Apple ID authentication.
Η διαχείριση των timeouts αυτών των processes πραγματοποιείται μέσω του launcher process του συστήματος launchd, που κρατάει το εγγενές 20″ timeout των processes. Δίνοντας εντολή στον launcher να μειώσει τον χρόνο ακόμη και κατά το ήμισυ, μπορεί να επιταχυνθούν τα εξ αιτίας αυτών των processes αργοκίνητα shutdowns.
Για να αλλάξετε τα timeouts, θα πρέπει να μετατραπούν τα daemon files που χρησιμοποιεί το σύστημα γι’ αυτά τα services, γι’ αυτό πρώτα μεριμνάτε για ένα backup και στη συνέχεια copy/paste στο Terminal (/Applications ▹ Utilities) ανά μια τις εντολές (η κάθε μια τους έχει δυο γραμμές ενώ στην πρώτη θα ζητηθεί πιστοποίηση). Restart το μηχάνημα και βλέπετε αν βελτιώθηκε η κατάσταση.
sudo defaults write /System/Library/LaunchDaemons/c\
om.apple.coreservices.appleevents ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\
om.apple.securityd ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\
om.apple.mDNSResponder ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\
om.apple.diskarbitrationd ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchAgents/com.\
apple.coreservices.appleid.authentication ExitTimeOut -int 5
Στις εντολές, η τιμή του timeout έχει καθοριστεί στα 5″, που σημαίνει ότι το σύστημα θα περιμένει 5″ προτού κλείσει (kill) ένα process κατά το shutdown. Όμως μπορείτε να αλλάξετε την τιμή σε οποιονδήποτε ακέραιο αριθμό μεγαλύτερο από μηδέν (αν βάλετε 0 απενεργοποιείται το timeout και το σύστημα περιμένει στο διηνεκές).
▲ Update : Μετά από δοκιμές, η πιο αποτελεσματική τιμή φαίνεται να είναι το 1.
Για να ανακαλέσετε το timeout είτε αλλάζετε την τιμή του σε 20, ή copy/paste και πάλι ανά μία τις παρακάτω εντολές και restart το μηχάνημα.
sudo defaults delete /System/Library/LaunchDaemons/c\
om.apple.coreservices.appleevents ExitTimeOut
sudo defaults delete /System/Library/LaunchDaemons/c\
om.apple.securityd ExitTimeOut
sudo defaults delete /System/Library/LaunchDaemons/c\
om.apple.mDNSResponder ExitTimeOut
sudo defaults delete /System/Library/LaunchDaemons/c\
om.apple.diskarbitrationd ExitTimeOut
sudo defaults delete /System/Library/LaunchAgents/com\
.apple.coreservices.appleid.authentication ExitTimeOut
[via]
Το δοκίμασα σε 2 Μακ,ένα με ssd δίσκο και ένα με μηχανικό WD blue 1 TB.Και τα δύο κλείνουν ακαριαία!
Μετά από δοκιμές, η τιμή στο 1 έχει το βέλτιστο αποτέλεσμα σε Mac mini και SSD δίσκο Samsung.
Την τροποποίηση απο 5 σε 1 τη δοκίμασα σε 2 Μακ,ένα με ssd δίσκο και ένα με μηχανικό WD blue 1 TB.Και τα δύο κλείνουν ακαριαία!
Ευχαριστώ για την ενημέρωση.
το δοκίμασα σε macbook 2.4 late 08 με ssd apple δηλαδή τον toshiba που βάζει
αποτέλεσμα με Mavericks από τα 20” που έκανε να κλείσει κατέβηκε με τις ρυθμίσεις σας στα 10”
Το ίδιο μηχάνημα με 10.8.5 έκλεινε ακαριαία με το 10.9 όχι
Δοκίμασα και ένα intel ssd x25M αν τον γράφω καλά και χωρίς τις ρυθμίσεις τότε που τον δοκίμασα έκλεινε ακαριαία με το Mavericks
Συμπέρασμα είναι θέμα hardware τελικά και σειρά μηχανήματος