Liberare la memoria inattiva sul proprio Mac | Tips & Tricks

20 Ottobre 2011 8


Da qualche tempo, sul Mac App Store, si stanno diffondendo diversi tool, sia gratuiti che a pagamento, che permettono oltre a visualizzare lo stato della memoria anche di liberare la memoria marcata dal sistema come inattiva. Ma in alternativa all'acquisto di uno di questi tool, vi spieghiamo come, attraverso il Terminale di Mac OS, è possibile monitorare lo stato della memoria e liberare gran parte della memoria inattiva... a costo zero!Iniziamo questa piccola guida analizzando una delle caratteristiche più apprezzate del sistema operativo Mac OS X: la gestione della memoria. Come tutti più o meno saprete, la memoria RAM è utilizzata dal sistema operativo per allocare processi, ovvero programmi in esecuzioni ed ospita, dunque, tutte le istanze attive dei software che utilizziamo.

Per ottimizzarne l'utilizzo, il sistema operativo Mac OS X divide la memoria centrale in 4 categorie:

  • Free: memoria effettivamente libera ed utilizzabile da qualsiasi processo
  • Wired: memoria utilizzata da qualche processo sulla quale non si può eseguire lo swap-out (non può essere, cioè, trasferita momentaneamente sul disco)
  • Active: memoria utilizzata da qualche processo sulla quale è possibile eseguire lo swap-out (è possibile trasferirla, momentaneamente, sul disco)
  • Inactive: memoria non attiva.

Sebbene sia piuttosto chiara la funzione delle prime tre categorie di memoria, la categoria Inactive sembra non avere motivo di esistere. Ed invece è il cuore dell'ottimizzazione della memoria implementata in Mac OS X. Apple infatti ha pensato di riservare una parte di memoria a processi che vengono utilizzati e successivamente chiusi.

Questa parte di memoria, la memoria "inactive" appunto, può essere utile nel caso quel processo chiuso in precedenza venga ri-eseguito, abbattendo notevolmente i tempi di caricamento in memoria. Una funzionalità utilissima, verrebbe da pensare subito, ma non sempre è così.

Sebbene la memoria "inactive" dovrebbe essere vista dagli altri processi come area di memoria libera, non sempre avviene, poiché il sistema operativo non arriva mai a svuotarla tutta, costringendo l'utente dunque, dopo molte ore di utilizzo del proprio sistema, ad avere una buona parte di memoria RAM inattiva e non utilizzata, quindi occupata inutilmente (o almeno, solo ai fini dell'ottimizzazione).

Per questo motivo, si sono sviluppati molti tool, distribuiti tramite il Mac App Store, che permettono di liberare gran parte della memoria RAM non utilizzata, riuscendo a recuperare a runtime una buona quantità di spazio in RAM. Alcuni di questi tool, dal funzionamento davvero ottimale, risultano (giustamente) essere a pagamento.

Se volete ottenere gli stessi risultati, con poco sforzo e senza pagare nulla, vi spieghiamo come fare. Tutto ciò che occorrerà imparare è come aprire il Terminale di Mac OS X, e quali comandi eseguire da linea di comando. Ovviamente non sarà piacevole e intuitivo come utilizzare un programma con interfaccia grafica, ma sarà efficace pressappoco allo stesso modo, e totalmente gratuito!

Per prima cosa, dunque, apriamo il Terminale di Mac OS X: il percorso in cui trovarlo è Applicazioni > Utility > Terminale.app. A questo punto, possiamo visualizzare la situazione dei processi allocati ed attivi in memoria con due comandi:

top

Scrivendo top sul Terminale e premendo il tasto INVIO, sarà possibile visualizzare tutti i processi attivi, la memoria libera, quella occupata, e tante altre informazioni sullo stato generale della memoria. Per uscire dal programma top, sarà sufficiente digitare la combinazione tasti ctrl+C.

Se volete, invece, informazioni più dettagliate sull'occupazione di memoria per ogni singolo processo, basterà digitare sul Terminale il comando:

ps aux | grep [nomeutente]

seguito da INVIO dove, al posto di [nomeutente] dovrete digitare il vostro username di sistema (lo stesso che ha la vostra cartella principale su Mac OS). Le colonne %CPU e %MEM indicheranno, rispettivamente, la percentuale di CPU e di memoria occupate dal rispettivo processo al momento della digitazione del comando.

Dopo questo quadro generale sull'analisi dello stato della memoria, vi chiederete come sia possibile liberare la memoria "inactive" e guadagnare spazio in memoria RAM. Beh, niente di più semplice. Basta digitare sul terminale il comando:

purge

seguito da INVIO. A questo punto, attendete qualche secondo per permettere al sistema di liberare memoria, e visualizzatene lo stato tramite il Monitor Attività che trovate sempre in Applicazioni > Utility.

Ecco come può comparire la memoria dopo qualche ora di utilizzo del sistema (notare il campo "Inattiva"):


E come, invece, appare dopo l'utilizzo della funzione purge:


Davvero notevole, non trovate?

N.B.: Il comando purge è disponibile soltanto se avete XCode installato sul vostro Mac. In caso contrario, potete scaricarlo dal Mac App Store gratuitamente.

Fotocamera Wide al miglior prezzo? LG G7 ThinQ è in offerta oggi su a 437 euro.

8

Commenti

Regolamento Commentando dichiaro di aver letto il regolamento e di essere a conoscenza delle informazioni e norme che regolano le discussioni sul sito. Clicca per info.
Caricamento in corso. Per commentare attendere...
Alessio

Grazie del tutorial, semplice e diretto ed effettivamente funzionante. Quali possono essere, eventualmente, le conseguenze dell'uso di "purge" a livello di performance?

Grazie!

Robertino68

Per usare il comando "purge" è essenziale installare Xcode recuperabile dal DVD d'installazione è scritto nell'articolo.

In alternativa potete usare un semplice e pratico Free App "Libera Memory" realizzato dal nipponico Monokano.
Ecco il link: http://tama-san.com/download.h...
E' semplice e funzionale, prima di usarlo chiudete tutte le applicazioni affinche faccia bene il suo lavoro. ;-)

Saverio Guardato

Poi chiedete perchè fanno pagare un app che fa un comando così banale... ovvio! Finchè ci sono idioti del genere che non riescono nemmeno a leggere ed eseguire un comando da terminale, fanno bene a farsi pagare! 

MacCarron

Mi auguro che, visto che molti tool chiedono soldi, non si limitino a fare un purge...sennò è la presa per il culo suprema. Hey aspetta...

Angelo Marzinotto

Io utilizzo anche l'app del mac app store "Memory scope".. Fa il suo dovere:)

Frank

anche a me, command not found. non ne vuole sapere.

Angelo Mosca

Mica hai digitato "$ purge" ? Il carattere "$" serve ad indicare che il comando può essere eseguito anche in stato utente: il comando da eseguire è "purge", seguito dal tasto INVIO.

Lorenzocalligaro

come mai a me non funziona??? mi dice command not found...soluzioni? grazie mille

Apple annuncia il nuovo MacBook Pro 16 | Video

Recensione PowerBeats Pro: gli Apple AirPods per gli sportivi

Recensione iPad 10.2 (2019), iPadOS fa la differenza

MacOS Catalina disponibile al download: ecco cosa ha cambiato Apple | Video