OS X Disabilitare area di swap su El Capitan 10.11

disabilita-swap-osx-10.11In un precedente articolo abbiamo parlato di come Disabilitare area di swap su Mac OSX. Questo articolo era stato scritto quando l’ultimo sistema operativo di Apple era Mountain Lion 10.8. Con l’avvento dei nuovi sistemi operativi le cose si sono evolute e le procedure scritte nel post predente sono diventate obsolete; le abbiamo aggiornate, ma i cambiamenti iniziano ad essere molti e così ho deciso di scrivere un nuovo articolo per spiegare come disabilitare area di swap su El Capitan 10.11 invece di continuare ad aggiornare il post precedente. Questa volta i passi da fare sono un po più lunghi, ma il risultato ottenuto sarà lo stesso, ovvero disabilitare area di swap su El Capitan 10.11.

Disabilitare area di swap su El Capitan 10.11

Innanzitutto dovremmo chiederei, perchè disabilitare lo swap? L’ultima risposta che mi sono dato è legata all’ormai giustamente dilagante della presenza di dischi allo stato solido SSD sui nostri MAC. Come sappiamo gli SSD hanno dei “limiti” per ciò che riguarda il numero di letture e scritture che possono sopportare. Quindi, perchè stressanti leggendo e scrivendo continuamente sull’area di SWAP? Arriviamo al dunque e vediamo quali passi seguire per disabilitare lo swap, MA ATTENZIONE Non siamo responsabili di eventuali disservizi o guasti sul vostro ambiente di lavoro a seguito delle operazioni svolte nel seguire quanto riportato in questa guida. Ogni attività o modifica al vostro sistema è fatta sotto la vostra completa responsabilità. Veniamo al dunque. Il comando da lanciare per disabilitare lo swap su El Capitan 10-11 è il seguente: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist El Capitan però ha introdotto un nuovo strumento che si chiama SIP, ovvero System Integrity Protection. Il SIP viene spiegato da Apple come OS X El Capitan includes security technology that helps protect your Mac from malicious software. Questo software fa in modo che non si possano apportare modifiche alla configurazione del sistema operativo (se siete interessati potete scaricare la guida pdf al System Integrity Protection ). Il SIP fa si che lanciando il suddetto comando si riceva l’errore: /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged Il che non ci permette di andare avanti con la nostra disabilitazione.

Aggirare Operation not permitted while System Integrity Protection is engaged

Questo non deve farci allarmare. Vediamo come risolvere l’errore derivante dall’attivazione del SIP. Riavviamo il sistema in RECOVERY MODE (CMD+R). Appena il sistema sarà ripartito in modalità ricovery mode, andiamo a modificare la configurazione del SIP, seguendo i passi:
  • Utilities >Terminal
Appena aperto il terminale lanciare il comando: csrutil status

per vedere lo stato del SIP

csrutil disable

per disabilitare il SIP

A questo punto il SIP è stato disabilitato. Ora riavviamo il nostro MAC ed eseguiamo il normale boot. Lanciamo nuovamente il comando: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist QUESTA VOLTA NON ERICEVEREMO ERRORI. Lanciamo il comando: sysctl vm.swapusage Se lo swap è stato disabilitato, riceveremo l’output: vm.swapusage: total = 0.00M  used = 0.00M  free = 0.00M  (encrypted)

Abilitare area di swap su El Capitan 10.11

Vediamo quali passi seguire per riabilitare l’area di swap su mac os x El Capitan. Primo passo, ri attiviamo l’area di SWAP con il comando: sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist Il sistema ci restituisce il prompt. Apriamo ora 2 finestre di terminale. Sulla prima lanciamo il comando: memory_pressure -l critica che ci permette di stressare la memoria forzando a swappare. Mentre il comando sta girando, dopo 5 o 10 secondi, nell’altra finestra del terminale lanciamo il comando: sysctl vm.swapusage Se il sistema sta swappando, dovremmo aspettarci un output del tipo: m.swapusage: total = 1024.00M  used = 19.00M  free = 1005.00M  (encrypted) Questo significa che siamo nella situazione originale. Ma manca un ultimo passo

Abilitare System Integrity Protection SIP

Riavviamo di nuovo il sistema in ricoveri mode (Vedi sopra). Apriamo di nuovo il terminale e lanciamo il comando: csrutil enable Riavviamo e il sistema è tornato all’originale.
Controindicazioni
Disabilitare il SIP sembra non essere ben accetto da Apple 🙂 Se infatti lanciamo il comando csrutil status mentre il SIP è disabilitato, il nostro MAC risponde così: System Integrity Protection status: enabled (Custom Configuration). Configuration: Apple Internal: disabled Kext Signing: disable Filesystem Protections: disabled Debugging Restrictions: disabled DTrace Restrictions: disabled NVRAM Protections: disabled This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state. Immagino quindi se se accada al sistema durante questa configurazione, potremmo avere qualche problema con la garanzia. Spero che la guida vi sia stata utile. Se così è stato, condividetela 🙂 Se avete problemi o dubbi commentate e cercherò di aiutarvi.

Tags: , ,

Trackback dal tuo sito.

Fabio

Appassionato di tecnologia, lavoro nel mondo dell'informatica dal 1999. Mi diletto con PHP e MYSQL e ultimamente mi sono appassionato al mondo SEO ...più per sfida che per necessità. In questo blog voglio condividere con gli utenti quello che imparo, sperando che altri possano trarne "profitto" .

Commenti (9)

  • Vincenzo

    |

    Ho effettuato nuovamente la procedura alla lettera, avviato il Mac in recovery mode, disattivato il SIP, riavviato ed effettuato il login con l’account amministratore, disattivato l’area di swap dal terminale senza aver ricevuto messaggi di errore di alcuna sorta, ho anche controllato l’area di swap e risultava a 0, ho nuovamente riavviato il sistema in recovery mode per riattivare il SIP ed infine riavviato in modalità normale ed iniziato ad utilizzare normalmente il mac…ora vedo che l’area di swap ammonta a 4mb nonostante siano in utilizzo solo 4gb sugli 8gb di RAM disponibili…non capisco neanche il motivo per cui il sistema stia già swappando quando c’è ancora una notevole quantità di memoria a disposizione…

    Reply

    • Fabio

      |

      Ciao Vincenzo.
      Purtroppo non so risponderti.
      La procedura io l’ho testata su un MacBook pro 13 con ssd ed El Capitan e a me ha funzionato.

      Reply

      • Vincenzo

        |

        cercando sul web ho trovato questo, si fa riferimento ad un passaggio addizionale col comando “sudo nvram boot-args=”vm_compressor=1″”…non essendo un esperto del campo non capisco sinceramente cosa sia questo comando e che effetti abbia, per caso sai dirmi qualcosa di più a riguardo?
        Questo è il link dove ho trovato il tutto: http://www.experchange.com/terminal-command-to-disable-disk-swapping-t4408140/7

        Ho anche pensato che il problema potrebbe essere dovuto alla presenza di due account sul mio mac, magari uno dei due non recepisce il messaggio e continua a swappare, anche se in teoria dovrebbe essere una impostazione del sistema intero e non del singolo utente (inoltre ho sempre effettuato la procedura utilizzando l’account principale, quello amministratore)

        Reply

        • Fabio

          |

          Vincenzo non conosco l’utilità di quel comando, per cui preferisco non sbilanciarmi rischiando di darti informazioni sbagliate.
          Posso dirti però che io non ho avuto necessità di utilizzarlo. La procedura che ho usato io è quella riportata nell’articolo.
          Che MAC hai? Magari dipende da questo. Io MacBook Pro 13″ late 2012 (SSD 850 PRO, 256GB
          + hd 500 e 8gb Ram)

          Reply

          • Vincenzo

            |

            Ho un MacBook Pro mid 2010, SSD 850 EVO 256GB + HDD nativo da 500gb, 8gb di Ram…purtroppo continua ad effettuare lo swap, ho effettuato la procedura da entrambi gli account presenti sul mio Mac ma nulla, la cosa strana è che lo swap è effettuato quando ancora ci sono 3-4 gb di ram non utilizzata…forse a questo punto dovrei provare a reinstallare il sistema operativo da zero, non saprei cosa altro provare

  • andrea

    |

    Ciao fabio , per la versione di el capitan 10.11.6 hai qualche aggiornamento ? il comando “memory_pressure -1 critica” pare che me lo rifiuti e lo swapusage resta tutto a zero . ho riportato tutto come era prima facendo il sudo launchctl load…. e riabilitando il csrutil . grazie andrea

    Reply

  • andrea

    |

    ciao Fabio hai qualche aggiornamento per el capitan 10.11.6 ? la procedura pare non funzionare in particolare dopo il comando -1 critica lo swap resta a zero

    Reply

    • Fabio

      |

      Ciao Andrea, scusami per il ritardo ma ho avuto problemi con l’invio della posta e per un po di giorni non ho ricevuto le notifiche dei commenti. Pertanto vedo solo ora il tuo messaggio. Io spero che nel frattempo tu abbia risolto. In ogni modo mi attivo per cercare di capire quanto hai segnalato.

      Grazie e scusami di nuovo
      Fabio

      Reply

Lascia un commento