Lorsque j'essaie d'exécuter la commande de purge, j'obtiens la même erreur à chaque fois.
[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.
J'ai essayé avec et sans sudo, en pensant initialement qu'il était peut-être incapable de le faire parce qu'il n'avait pas l'accès approprié, et qu'ils n'avaient tout simplement pas programmé de vérification des autorisations. Mais c'est la même erreur.
J'ai une double installation de Xcode, ce qui, je pense, peut être le problème ici. J'ai 3.2.6 installé dans un répertoire personnalisé (/Xcode 3) et j'ai Xcode 4.6.3 depuis le Mac App Store. J'ai installé les Command Line Tools les plus récents (2013.4) à partir de Xcode 4. J'utilise OS X 10.7.4 Lion.
Avant que quelqu'un ne me dise que je devrais laisser le système d'exploitation gérer lui-même la mémoire inactive parce qu'il le fait très bien, non, il ne le fait pas. Pas le moins du monde. Normalement, cela fonctionne assez bien pour ne pas me déranger. Mais chaque fois que j'utilise un type de VM, je rencontre des problèmes avec la mémoire qui ne se libère jamais.
Par exemple, je peux démarrer une instance d'une VM d'émulation. Elle utilisera environ 600 Mo de mémoire. Lorsque je termine entièrement l'émulation, la mémoire ne se libère pas. En plus de cela, si je reviens en arrière et relance exactement la même émulation, les 600 Mo inactifs ne sont pas réutilisés comme on pourrait l'espérer. Non, ils restent là. Et un autre 600 du pool libre est utilisé. Et lorsque cette seconde émulation se termine, j'ai maintenant 1,2 Go de mémoire inactive. Normalement, cela devrait être correct, si la mémoire inactive était libérée lorsque toute la mémoire libre était utilisée. Mais ce n'est pas le cas. Elle reste là et ne se libère jamais. Elle se déplace sur le disque à la place.
Ce problème est particulièrement gênant avec les VM de virtualisation qui utilisent 4 Go, voire plus, de RAM dans le cadre de mon utilisation normale. Il suffit de les redémarrer plus d'une fois pour que les choses ralentissent à cause de l'échange de disques.
J'avais l'habitude d'utiliser la commande purge tout le temps sur 10.5 Leopard avec Xcode 3.1.4, et les problèmes sur Leopard étaient loin d'être aussi graves avec la gestion automatique de la mémoire. J'utilisais simplement la commande purge pour faire table rase sans avoir à redémarrer. Je ne peux même pas faire ça maintenant. Et contrairement à ce que certaines personnes pourraient vous dire, il est un problème grave.
Toute idée serait appréciée. Une dernière chose. J'ai utilisé xcode-select
pour sélectionner Xcode 4.6.3 plutôt que 3.2.6. Je n'utilise 3.2.6 que pour le développement et la compilation. Macports, Homebrew, et d'autres choses, exigent que Xcode 4 soit installé et sélectionné, ce qui est la seule raison pour laquelle je l'ai. Mais si je me souviens bien, la purge ne fonctionnait pas non plus lorsque j'avais sélectionné Xcode 3 à la place.
0 votes
Essayez d'exécuter la commande en tant que
sudo purge
osudo bash
puispurge
.0 votes
Même erreur. En fait, j'ai indiqué que j'avais essayé sudo en haut de mon message. Et lancer purge à travers un shell sudo bash n'a pas fait de différence non plus. Même erreur.
0 votes
Je vous conseille de faire un peu de nettoyage autour des != versions de Xcode et de recompiler tout ce qui collait à la version 3.x. Si le problème change, mettez à jour votre OQ, cela vous aidera.