Τρόπος χρήσης του εργαλείου διαγνωστικών εντοπισμού σφαλμάτων των υπηρεσιών IIS για την αντιμετώπιση προβλημάτων διαρροή μνήμης σε μια διεργασία του IIS

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 919790 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

ΕΙΣΑΓΩΓΗ

Διαρροή μνήμης ενδέχεται να παρουσιαστεί στο Microsoft Internet Information Services (IIS), όταν μια διεργασία IIS καταναλώνει υπερβολική μνήμης. Inetinfo.exe, DLLHost.exe και W3wp.exe αποτελούν παραδείγματα διαδικασιών των υπηρεσιών IIS. Οι υπηρεσίες IIS αποθηκεύει προσωρινά στατικό περιεχόμενο και δυναμικό περιεχόμενο. Μια διαδικασία IIS χρησιμοποιεί συνήθως έως 50 τοις εκατό της φυσικής μνήμης που είναι διαθέσιμες. Αυτό το μέτρο χρήσης μνήμης αφορά κάθε διεργασίας των υπηρεσιών IIS, όχι σε ένα σύνολο όλων των διεργασιών των υπηρεσιών IIS. Για να εντοπίσετε ένα πρόβλημα μνήμης, μπορείτε να χρησιμοποιήσετε πληροφορίες και την Εποπτεία επιδόσεων.

Επιπλέον, τα ακόλουθα συμπτώματα ενδέχεται να προκύψει όταν μια διαδικασία IIS καταναλώνει υπερβολική μνήμης:
  • Στη Διαχείριση εργασιών των Windows, τοΧρήση μνήμηςστήλη δηλώνει ότι η διαδικασία καταναλώνει υπερβολική μνήμης.
  • Στην Εποπτεία επιδόσεων, αυξάνεται η διαφορά μεταξύ τουΙδιωτικά byte πουο μετρητής και τοΕικονικά ByteCounter από τοΔιαδικασίαObject.
  • Στις IIS 6.0, μια διαδικασία IIS χρησιμοποιεί έως 1.3 gigabyte (GB) εικονικής μνήμης. Εάν είναι ενεργοποιημένη η ανακύκλωση μνήμης, καταγράφεται ένα συμβάν παρόμοιο με το ακόλουθο:

    Τύπος συμβάντος: πληροφορίες
    Προέλευση συμβάντος: W3SVC
    Κατηγορία συμβάντος: καμία
    Το Αναγνωριστικό συμβάντος: 1077
    Ημερομηνία:Ημερομηνία
    Ώρα:Ώρα
    Χρήστης: δ/Υ
    Computer:computerName
    Περιγραφή:
    Μια διαδικασία εργασίας με αναγνωριστικό διαδικασίας "1234" εξυπηρέτηση χώρο συγκέντρωσης εφαρμογών 'DefaultAppPool' ζήτησε ανακύκλωση, επειδή έφτασε στο όριο εικονικής μνήμης.

  • Εάν η ανακύκλωση μνήμης δεν είναι ενεργοποιημένη, μια διαδικασία IIS χρησιμοποιεί έως 1.3 GB εικονικής μνήμης και τελικά σταματά να ανταποκρίνεται. Στη συνέχεια, καταγράφεται ένα συμβάν παρόμοιο με το ακόλουθο:

    Τύπος συμβάντος: προειδοποίηση
    Προέλευση συμβάντος: W3SVC
    Κατηγορία συμβάντος: καμία
    Το Αναγνωριστικό συμβάντος: 1009
    Ημερομηνία:Ημερομηνία
    Ώρα:Ώρα
    Χρήστης: δ/Υ
    Computer:computerName
    Περιγραφή:
    Μη αναμενόμενος τερματισμός διαδικασίας που εξυπηρετεί το χώρο συγκέντρωσης εφαρμογών "DefaultAppPool". Το αναγνωριστικό της διαδικασίας ήταν '1234'. Τον κωδικό εξόδου της διαδικασίας ήταν '0xc0000005'.

    Για περισσότερες πληροφορίες, ανατρέξτε στο Κέντρο Βοήθειας και υποστήριξης (Help and Support Center) στη διεύθυνση http://support.microsoft.com.

  • Στον IIS 5.0, μια διαδικασία IIS χρησιμοποιεί έως 1.3 GB εικονικής μνήμης και τελικά σταματά να ανταποκρίνεται. Στη συνέχεια, καταγράφεται ένα συμβάν παρόμοιο με το ακόλουθο:

    Τύπος συμβάντος (Event Type): Σφάλμα (Error)
    Προέλευση συμβάντος: Διαχείριση ελέγχου υπηρεσιών
    Κατηγορία συμβάντος: καμία
    Το Αναγνωριστικό συμβάντος: 7031
    Ημερομηνία:Ημερομηνία
    Ώρα:Ώρα
    Χρήστης: δ/Υ
    Computer:computerName
    Περιγραφή:
    Η υπηρεσία IIS Admin Service τερματίστηκε απροσδόκητα. Αυτό έχει γίνει αυτό 7 φορές. Η παρακάτω διορθωτική ενέργεια θα ληφθούν σε χιλιοστά του δευτερολέπτου 0: καμία ενέργεια.

    Για περισσότερες πληροφορίες, ανατρέξτε στο Κέντρο Βοήθειας και υποστήριξης (Help and Support Center) στη διεύθυνση http://support.microsoft.com.

Περισσότερες πληροφορίες

Όταν μια διεργασία IIS καταναλώνει υπερβολική μνήμης, χρησιμοποιήστε το εργαλείο διαγνωστικών εντοπισμού σφαλμάτων των υπηρεσιών IIS για την αντιμετώπιση των εκχωρήσεων μνήμης εκκρεμούν που προκάλεσε τη διαρροή μνήμης. Πρέπει να εισαγάγετε το αρχείο LeakTrack.dll και στη συνέχεια να παρακολουθήσετε για τη διαρροή μνήμης. Μόλις η διαρροή έχει αναπαραχθεί, δημιουργείται ένα αρχείο ένδειξης σφαλμάτων μνήμης. The memory dump file contains the memory leak information.

To use the IIS Debug Diagnostics tool to troubleshoot an IIS process that consumes excessive memory, follow these steps.

Step 1: Download and install the IIS Diagnostics Toolkit

Τα ακόλουθα αρχεία είναι διαθέσιμα για λήψη από το Κέντρο λήψης αρχείων της Microsoft:

IIS Diagnostics Toolkit for 32-bit systems

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
Λήψη
Download the iisdiag.msi package now.

IIS Diagnostics Toolkit for Itanium-based systems

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
Λήψη
Download the iisdiag.msi package now.

Step 2: Set up performance logging before the memory leak occurs

  1. Κάντε κλικStart, τοποθετήστε το δείκτηΠρογράμματα (Programs), τοποθετήστε το δείκτηIIS Diagnostics, τοποθετήστε το δείκτηDebug Diagnostics Tool, και στη συνέχεια κάντε κλικ στο κουμπίDebug Diagnostics Tools 1.1.
  2. Κάντε κλικΕργαλεία, και στη συνέχεια κάντε κλικ στο κουμπίOptions And Settings.
  3. Κάντε κλικ στην καρτέλαPerformance Logκαρτέλα, κάντε κλικ στο κουμπίEnable Performance Counter Data Logging, και στη συνέχεια κάντε κλικ στο κουμπίOk.
ΣΗΜΕΙΩΣΗThe data sampling interval and the time to start monitoring depend on when the memory leak is reproduced. Because of the log size, make sure that you work with support professionals to obtain the information that you need without overwhelming the server.

Step 3: Create a "Memory and Handle Leak" rule

  1. Κάντε κλικStart, τοποθετήστε το δείκτηΠρογράμματα (Programs), τοποθετήστε το δείκτηIIS Diagnostics, τοποθετήστε το δείκτηDebug Diagnostics Tool, και στη συνέχεια κάντε κλικ στο κουμπίDebug Diagnostics Tools 1.1.
  2. Στο διακομιστήΚανόνες (Rules)καρτέλα, κάντε κλικ στο κουμπίΠροσθήκη κανόνα.
  3. Κάντε κλικMemory and Handle Leak, και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενο.
  4. Select the process that has the memory leak, and then clickΕπόμενο.
  5. ΣτοConfigure Tracking Durationdialog box, type or select a warm-up time in theWarm-Up time"Τύπος" (Type).

    ΣΗΜΕΙΩΣΗIf the problem is immediately reproduced, click to select theStart memory tracking immediately when rule is activatedΠλαίσιο ελέγχου.
  6. ΣτοTracking Timebox, type or select the time that is required to reproduce the problem. Βεβαιωθείτε ότι τοAuto-create a crash rule to get userdump on unexpected process exitτο πλαίσιο ελέγχου είναι επιλεγμένο.

    ΣΗΜΕΙΩΣΗAt the end of the specified time, a dump file is created.
  7. Κάντε κλικΕπόμενο, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.

Step 4: Obtain the data manually

  1. Κάντε κλικStart, τοποθετήστε το δείκτηΠρογράμματα (Programs), τοποθετήστε το δείκτηIIS Diagnostics, τοποθετήστε το δείκτηDebug Diagnostics Tool, και στη συνέχεια κάντε κλικ στο κουμπίDebug Diagnostics Tools 1.1.
  2. Κάντε κλικ στην καρτέλαΔιαδικασίεςtab, right-click the process that you want, and then clickMonitor For Leaks.
  3. When the leak is reproduced, right-click the process from step 4b, and then clickCreate Full Userdump.
ΣΗΜΕΙΩΣΗNotice that the status is Active. Επιπλέον, τοUserdump Countcounter value increases every time that a memory dump file is created.

Step 5: Stop performance logging after the memory dump file is finished

  1. Κάντε κλικStart, τοποθετήστε το δείκτηΠρογράμματα (Programs), τοποθετήστε το δείκτηIIS Diagnostics, τοποθετήστε το δείκτηDebug Diagnostics Tool, και στη συνέχεια κάντε κλικ στο κουμπίDebug Diagnostics Tools 1.1.
  2. Κάντε κλικΕργαλεία, και στη συνέχεια κάντε κλικ στο κουμπίOptions And Settings.
  3. Κάντε κλικ στην καρτέλαPerformance Logκαρτέλα, κάντε κλικ στο κουμπίDisable Performance Counter Data Logging, και στη συνέχεια κάντε κλικ στο κουμπίOk.

Step 6: Analyze the memory dump file


Step 7: If you are using custom .dll files, add the "Symbol Search Path For Analysis" path or the "Symbol Search Path for Debugging" path

  1. Κάντε κλικΕργαλεία, και στη συνέχεια κάντε κλικ στο κουμπίOptions And Settings.
  2. ΣτοSymbol Search Path For Analysisπλαίσιο ή με τοSymbol Search Path for Debuggingbox, type the appropriate path, and then clickOk.

Ιδιότητες

Αναγν. άρθρου: 919790 - Τελευταία αναθεώρηση: Παρασκευή, 24 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Internet Information Services 7.0
  • Οδηγός Microsoft Internet Information Services 6.0
Λέξεις-κλειδιά: 
kbinfo kbhowto kbmt KB919790 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:919790

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com