Quando tento di eseguire il comando di eliminazione, ottengo lo stesso errore ogni volta.
[ERROR] <CPDevice.c:3816> Unable to create new counter client.
[ERROR] <CPOSX.c:1172> Unable to get user client so as to poke the kernel.
Unable to purge disk buffers, error #-2.
Ho provato con e senza sudo, inizialmente pensando che forse non è in grado di non avere un accesso adeguato e semplicemente non hanno programmato un controllo delle autorizzazioni. È lo stesso errore però.
Ho una doppia installazione Xcode, che credo possa essere il problema qui. Ho installato 3.2.6 in una directory personalizzata (/ Xcode 3) e ho Xcode 4.6.3 dal Mac App Store. Ho installato gli strumenti della riga di comando più recenti (2013.4) da Xcode 4. Utilizzo OS X 10.7.4 Lion.
Prima che qualcuno mi dica che dovrei lasciare che il SO gestisca la memoria inattiva da solo perché lo fa bene, no, non lo è. Non nel minimo. Normalmente funziona abbastanza bene da non infastidirmi. Ma ogni volta che uso qualsiasi tipo di VM, ho riscontrato problemi con la memoria mai rilasciata.
Ad esempio, posso avviare un'istanza di una VM di emulazione. Userà circa 600 MB di memoria. Quando termino completamente l'emulazione, la memoria non viene rilasciata. Oltre a ciò, se torno indietro e rieseguo la stessa identica emulazione, i 600 MB inattivo non vengono riutilizzati come si potrebbe sperare. No, si siede proprio lì. E un altro 600 dalla piscina libera viene utilizzato. E quando quella seconda emulazione è terminata, ora ho 1,2 GB di memoria inattiva. Ora normalmente questo andrebbe bene, se la memoria inattiva fosse rilasciata quando veniva usata tutta la memoria libera. Ma non è così. Si siede e non rilascia mai. Scambierà su disco invece.
Questo problema è particolarmente fastidioso con le VM di virtualizzazione che utilizzano 4 GB o anche più di RAM nel mio normale utilizzo. Riavvia quelli più di una volta e le cose nuove rallentano la scansione a causa dello scambio del disco.
Usavo sempre il comando di cancellazione su 10.5 Leopard con Xcode 3.1.4, ei problemi su Leopard non erano poi così male con la gestione automatica della memoria. Ho appena usato l'epurazione per ottenere più di una lavagna pulita senza dover riavviare. Non posso nemmeno farlo ora. E a differenza di quanto qualcuno direbbe, è un problema serio.
Qualche idea sarebbe apprezzata. Un'altra cosa. Ho usato xcode-select
per selezionare Xcode 4.6.3 invece di 3.2.6. Io uso solo il 3.2.6 per lo sviluppo e la compilazione. Macport, Homebrew e alcune altre cose richiedono però l'installazione e la selezione di Xcode 4, che è l'unica ragione per cui l'ho. Ma se ricordo bene, anche l'epurazione non funzionava quando avevo selezionato Xcode 3 invece.