Nous avons un service d'application S3 exécuté dans Azure et déployons des mises à jour tous les mercredis soirs.
Après la mise à jour d'hier soir (aucun changement dans les packages de framework ou de nuget), notre ensemble de travail de mémoire, pour la première fois depuis plusieurs années, reste à 0 octet.
Nous avons constaté des problèmes de performances au cours de la dernière année environ, mais nous les avons pour la plupart maîtrisés.
Qu'est-ce qui ferait en sorte que l'ensemble de travail de la mémoire atteigne son plus bas niveau ?
Dans la capture d'écran, vous pouvez voir où le jeu de travail de la mémoire est constamment à 0 octet après le déploiement de la nuit dernière (déployé le 06/04/2022 à 22h30 CST), et ne pointe qu'occasionnellement.
48 heures, incrément de 1 min Mémoire de travail moy vs octets privés moy

Solution du problème
Je vois votre problème et votre image de pièce jointe, sur cette image, octets privés (moyenne) 2,1 Go et ensemble de travail de mémoire 2,3 Go, je ne pense pas qu'il y ait de problème de fuite de mémoire.
Je vous aide sur ce sujet. Si une seule application consomme beaucoup de mémoire
Déboguer l'application provoquant une mémoire élevéeRedémarrez la mauvaise application pour atténuerle problème. Mettre à l'échelle le plan de service d'applicationSi plusieurs applications consomment de la mémoire
Faites évoluer le plan de service d'application au niveau suivant.Isoler les applications dans leur propre plan App ServiceL'un des outils les plus efficaces pour détecter/corriger les fuites de mémoire dans Windows est en fait Visual Studio (le lien va à la page sur l'utilisation de VS pour les fuites de mémoire, pas à la page du produit). Rational Purify est une autre possibilité. Microsoft dispose également d'un document de bonnes pratiques plus général à ce sujet.
Une autre approche. Diagnostiquer les applications avec une mémoire élevée
Trouvez ces applications à forte consommation.Accédez à ce service d'application -> dans le menu de gauche, sélectionnez Diagnostiquer et résoudre les problèmes -> Sélectionnez Disponibilité et performances -> sélectionnez Utilisation de la mémoire -> sous une application Web entraînant une utilisation élevée de la mémoire -> sous Collecter le vidage de la mémoire -> Cliquez sur Collecter le vidage de la mémoire et lancer outil Collecter le vidage de la mémoire -> cliquez sur le bouton Sélectionner -> choisissez le compte de stockage -> sélectionnez les instances et collectez le vidage de la mémoire son téléchargement en analysant le rapport de vidage de la mémoire.Après le téléchargement, ouvrez-le dans Microsoft Visual Studio. Visual Studio affiche des informations de base sur le vidage de la mémoire. Je sélectionne Déboguer la mémoire gérée dans le coin supérieur droit. et sa liste d'affichage du type d'objet, du nombre, de la taille, de la taille inclusive. et sélectionnez les utilisations maximales de la consommation d'octets et double-cliquez sur ce type d'objet. et développez l'arbre d'objets. et vérifiez les utilisations maximales maximales de la consommation d'octets. L'analyse est terminéeTélécharger des rapports sur ce qu'ils ont proposé. lisez ce rapport et voyez ce que dit ce rapport. Dans ce rapport, affichez les 40 types d'objets xxxxxxxx les plus gourmands en mémoire. Dans Top objects sur le gros objet Heap. afficher la taille de l'objet du tas.Azure fournit également une fonctionnalité de réparation automatique.

Accédez à App Service -> sélectionnez Outil de diagnostic -> Auto-Heal-> Activer l'auto-guérison -> Limite de mémoire -> Configurer la règle des octets privés -> seuil de mémoire Entrez les octets privés dans KB '1000000' -> Cliquez sur le bouton OK -> Sélectionnez Action personnalisée -> Vidage mémoire -> Sélectionnez CollectKellAnalyze -> Cliquez sur Enregistrer -> révision finale et sauvegarde -> et affichez tout vidage mémoire dans Afficher toutes les sessions.Détection de fuite mémoire
Commentaires
Enregistrer un commentaire