Question

SandCastle est incapable de traiter notre bibliothèque de classes, car il se bloque avec une exception OutOfMemoryException lors de la transformation XSL.

Que pouvons-nous faire à ce sujet, à l'exception de l'évidence, vous pouvez acheter plus de mémoire? Le problème est que c'est nos machines de développement avec la mémoire 3.3GB sur un OS 32 bits donc en gros nous soit mettre à niveau vers 64 bits et plus de mémoire (ce qui ne se produira pas pendant un certain temps) ou mettre en place un serveur virtuel faire cela avec beaucoup de mémoire (ce qui aura un impact sur les serveurs de production).

Je doute que nous avons sérieusement la plus grande bibliothèque de classe dans le monde qui nécessite des fichiers d'aide, alors quelles options nous? Y at-il une magie « Ne pas tomber en panne avec des erreurs de mémoire » que nous avons oublié la mise à éteindre?

Était-ce utile?

La solution

Si vous êtes sur Windows 32 bits, votre processus d'utilisateur ne pourra répondre à 2 Go de mémoire par défaut (3 Go est exécuté en tant que grande adresse au courant). Les 2 Go sont utilisés pour tout le processus, de sorte que le temps d'exécution .NET, les bibliothèques standards, réservation et ainsi de suite tous prennent leur mandrin. Dans mon expérience qui laisse environ 1,5 Go pour les applications .NET sur 32 bits.

Vous pouvez accéder à plus de mémoire en utilisant la grande adresse du commutateur au courant, mais il ne vient pas gratuitement si vous êtes sur Windows 32 bits. Le passage à 64 bits de Windows ce que votre accès aux applications 32 bits l'ensemble de l'espace d'adressage 32 bits et ainsi vous donner 4 Go d'espace adressable.

J'ai récemment écrit une entrée de blog avec des détails sur l'utilisation de la mémoire pour les applications .NET, mais depuis que je blogue en danois, vous ne pouvez pas être en mesure de le lire. Cependant, si vous voulez jeter un oeil, le lien est: http://kodehoved.dk/?p= 156

Vous pouvez également trouver ce blog MSDN correspondant: http://blogs.msdn.com/maoni/archive/2007/05/15/64-bit-vs-32-bit.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top