Xcode 4.2, 4.3:
Problèmes majeurs avec l'indexeur de fichiers (même code qui exécute Spotlight, qui a été bogué pendant des années? Probablement).
Désactivez tout ce qui n'est pas essentiel lié à la "surveillance" des fichiers:
- Aide rapide (NB: ne cliquez jamais sur l'onglet QH! Même le fait de cacher l'assistant entraîne toujours l'exécution du code! Passez à un autre onglet avant de passer à un nouveau fichier ...)
- Gestion SCM (SVN, Git, etc. - Le support git de Xcode est encore un peu bogué (peut corrompre les projets), et ils ont abandonné le support SVN, vous ne devriez donc pas l'utiliser de toute façon!)
- essayez de supprimer votre dossier d'espace de travail (selon la réponse acceptée), mais uniquement s'il est volumineux sur le disque
- ... tout ce que vous pouvez trouver concernant l'état des fichiers individuels
Xcode 4.4, 4.5:
Ces versions ont une fuite importante de mémoire, un indexeur de fichiers cassé (mais mieux que 4.2 et 4.3), et peut-être un problème de fichier d'échange privé.
Finalement, en désactivant / activant l'espace d'échange ( comment désactiver ou activer l'échange sous mac os x ), et en utilisant des disques durs normaux sur plusieurs machines, et en exécutant des expériences sur des machines avec 2 Go de RAM jusqu'à 16 Go de RAM, j'ai trouvé que Xcode semble exécuter son propre espace d'échange, indépendant du swap OS X (!).
(cela pourrait être une erreur - il existe peut-être une forme supplémentaire d'échange d'OS X que je ne connais pas - mais les fichiers d'échange système ne sont pas devenus plus gros ou plus petits, tandis que l'espace disque a bondi de gigaoctets de haut en bas sur certaines machines)
Observé:
Xcode 4.4 / 4.5 prendra aléatoirement toute la RAM de votre système (10 de Go pour un petit projet) afin que le reste du système s'arrête, coincé en attendant l'échange de disque
- Pire: sur les macbooks avec SSD, vous ne saurez pas que cela s'est produit
- PIRE: ... même si cela peut endommager votre disque dur (les SSD n'aiment pas écraser les écritures)
Xcode va monopoliser l'accès au disque dur afin de pouvoir effectuer son indexation de fichier interne (cassée). Lorsque la mémoire système est faible et que OS X doit effectuer un échange ... il reste bloqué en attendant que Xcode indexe les fichiers ... et Xcode prend plus de mémoire pendant qu'il attend ... et: BOOM! sur les systèmes plus petits, OS X se bloque finalement
Xcode n'a pas besoin d'espace de swap OS X
Le dernier est très intéressant. Si vous disposez de beaucoup de mémoire (par exemple 16 Go), essayez de désactiver définitivement l'espace d'échange. Xcode s'exécute plus rapidement, car OS X Lion a quelques bogues dans la gestion des mémoires où il échange même lorsqu'il n'en a pas besoin .
Si xcode ralentit soudainement, il échange en interne, à quel point vous pouvez simplement le tuer et le redémarrer.
(si vous avez un SSD, le seul moyen de savoir si son échange a commencé est d'attendre qu'il "ralentisse". Sinon, vous savez dès que vous entendez le thrash HD: il n'y a plus de fichier d'échange système, donc le la seule cause possible est Xcode)
Vous pouvez désactiver le swap en toute sécurité même si vous avez 2 Go de RAM (je n'ai eu qu'un seul crash OS X par mois lorsque j'ai essayé cela, je l'ai exécuté de cette façon pendant un an), mais cela vous empêchera de faire du travail vidéo / graphique haut de gamme avec des fichiers qui ont besoin de plusieurs gigaoctets pour fonctionner. N'hésitez pas à l'essayer pendant quelques semaines et voyez ce qui se passe.
Mais ... redémarrer Xcode chaque fois qu'il ralentit fait des merveilles. Sur les machines avec moins de RAM, le fichier d'échange privé de Xcode semble être IMMÉDIATEMENT supprimé lorsque vous fermez (cela ne semble pas se produire sur les machines avec beaucoup de RAM)