Αντιμετωπίζετε θέματα επιδόσεων σε εφαρμογές και υπηρεσίες, όταν η μνήμη cache του συστήματος αρχείων καταναλώνει περισσότερα από τη φυσική μνήμη RAM

Συμπτώματα

Αντιμετωπίζετε θέματα επιδόσεων σε εφαρμογές και υπηρεσίες σε διάφορες εκδόσεις των Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 και Windows Server 2008 R2. Επιπλέον, μπορείτε να παρατηρήσετε τα ακόλουθα συμπτώματα:
  • Διαθέσιμη μνήμη έχει σχεδόν εξαντληθεί.
  • Η μνήμη cache του συστήματος αρχείων καταναλώνει περισσότερα από τη φυσική μνήμη RAM.
  • Υπάρχει συνεχής και υψηλή όγκος προσωρινής αποθήκευσης αιτήσεων ανάγνωσης στον σκληρό δίσκο.

Αιτία

Διαχείριση μνήμης σε λειτουργικά συστήματα Microsoft Windows χρησιμοποιεί έναν αλγόριθμο που βασίζεται στη ζήτηση. Εάν οποιαδήποτε διεργασία που ζητά και χρησιμοποιεί μια μεγάλη ποσότητα μνήμης, αυξάνεται το μέγεθος του συνόλου εργασιών (τον αριθμό των σελίδων μνήμης της φυσικής μνήμης RAM) της διαδικασίας. Εάν αυτές οι αιτήσεις είναι συνεχής και ένα μη ελεγμένο, του συνόλου εργασίας της διαδικασίας θα αυξηθεί στο καταναλώνουν όλες τη φυσική μνήμη RAM. Σε αυτήν την περίπτωση, τα σύνολα εργασιών για όλες τις άλλες διεργασίες είναι σελιδοποίηση στον σκληρό δίσκο. Αυτή η συμπεριφορά μειώνει την απόδοση των εφαρμογών και υπηρεσιών επειδή οι σελίδες μνήμης συνεχώς γράφονται στον σκληρό δίσκο και η ανάγνωση από τον σκληρό δίσκο.

Αυτή η συμπεριφορά ισχύει επίσης για το σύνολο της εργασίας από τη μνήμη cache του συστήματος αρχείων. Εάν υπάρχει συνεχής και υψηλή όγκος αιτήσεων στο cache ανάγνωσης από οποιαδήποτε διεργασία ή από οποιοδήποτε πρόγραμμα οδήγησης, του μεγέθους συνόλου εργασίας από τη μνήμη cache του συστήματος αρχείων θα αναπτυχθεί για να ικανοποιήσετε αυτή τη ζήτηση. Η μνήμη cache του συστήματος αρχείων καταναλώνει τη φυσική μνήμη RAM. Επομένως, επαρκή ποσότητα φυσικής μνήμης RAM δεν είναι διαθέσιμες για άλλες διεργασίες.

Στις εκδόσεις 32-bit των Microsoft Windows λειτουργικά συστήματα πριν από τα Windows Vista, τα σύνολα εργασιών από τη μνήμη cache του συστήματος αρχείων έχει ένα όριο θεωρητική μνήμη μικρότερη από 1 gigabyte (GB). Τον περιορισμό των την περιοχή εικονικών διευθύνσεων εμποδίζει την εξάντληση της φυσικής μνήμης RAM και τα σύνολα εργασιών από τη μνήμη cache του συστήματος αρχείων.

Στις εκδόσεις 32-bit των Windows Vista λειτουργικά συστήματα, πόρους πυρήνα έχουν εκχωρηθεί δυναμικά. Αυξάνει το σύνολο της εργασίας από τη μνήμη cache του συστήματος αρχείων για να καταναλώσει την περιοχή εικονικών διευθύνσεων της κατάστασης λειτουργίας πυρήνα εις βάρος των άλλων πόρων του πυρήνα. Ο περιορισμός αυτής της περιοχής μνήμης είναι μικρότερο από 2 GB. Εάν ο υπολογιστής διαθέτει περισσότερα από 2 GB φυσικής μνήμης RAM, η μνήμη cache δεν είναι δυνατό να καυσαερίων όλες τη φυσική μνήμη RAM. Ωστόσο, το χώρο προσωρινής αποθήκευσης μπορεί να εξαντλήσει το χώρο εικονικών διευθύνσεων στον πυρήνα των. Αυτό μπορεί να προκαλέσει αποτυχίες εκχώρησης για άλλα στοιχεία του πυρήνα.

Στις εκδόσεις 64-bit λειτουργικά συστήματα των Windows, το μέγεθος του την περιοχή εικονικών διευθύνσεων είναι συνήθως μεγαλύτερο από τη φυσική μνήμη RAM. Σε αυτήν την περίπτωση, το σύνολο της εργασίας για τη μνήμη cache του συστήματος αρχείων μπορεί να αυξήσει να καταναλώνουν το μεγαλύτερο μέρος της φυσικής μνήμης RAM.

Εναλλακτικός τρόπος αντιμετώπισης

Για να επιλύσετε αυτό το ζήτημα, χρησιμοποιήστε τη συνάρτηση GetSystemFileCacheSize API και τη συνάρτηση SetSystemFileCacheSize API για να ορίσετε το μέγεθος μέγιστη ή ελάχιστη τιμή για τα σύνολα εργασιών από τη μνήμη cache του συστήματος αρχείων. Η χρήση αυτών των συναρτήσεων είναι η μόνη υποστηριζόμενη μέθοδος για τον περιορισμό της κατανάλωσης της φυσικής μνήμης από τη μνήμη cache του συστήματος αρχείων.

Το Microsoft Windows δυναμική μνήμη Cache Service είναι μια υπηρεσία δείγμα που παρουσιάζει μια στρατηγική για να χρησιμοποιήσουν αυτά τα API για να ελαχιστοποιηθούν τα αποτελέσματα αυτού του ζητήματος.

Εγκατάσταση και χρήση της υπηρεσίας Microsoft δυναμική μνήμη Cache δεν προκαλεί την εξαίρεση της υποστήριξης για τα Microsoft Windows. Αυτή η υπηρεσία και ο πηγαίος κώδικας παρέχονται όπως ένα παράδειγμα του τρόπου χρήσης της Microsoft υποστηρίζεται API για να μειωθεί η ανάπτυξη από τη μνήμη cache του συστήματος αρχείων.


Μπορείτε να αποκτήσετε την υπηρεσία και τον κωδικό προέλευσης από την ακόλουθη τοποθεσία της Microsoft στο Web:

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

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

Οι αλγόριθμοι διαχείρισης μνήμης σε λειτουργικά συστήματα Windows 7 και Windows Server 2008 R2 ενημερώθηκαν προκειμένου να αντιμετωπίσουν πολλές αρχείο προσωρινής αποθήκευσης σε προβλήματα που έχουν εντοπιστεί σε προηγούμενες εκδόσεις των Windows. Υπάρχουν μόνο ορισμένες μοναδικές περιπτώσεις στις οποίες έχετε για την υλοποίηση αυτής της υπηρεσίας σε υπολογιστές που εκτελούν Windows 7 ή Windows Server 2008 R2.

Πώς να προσδιορίσετε εάν επηρεάζεται το σύστημά σας

Για να προσδιορίσετε εάν επηρεάζεται το σύστημά σας από αυτό το ζήτημα, εγκαταστήστε το εργαλείο SysInternals RamMap. Μπορείτε να αποκτήσετε το εργαλείο από την ακόλουθη τοποθεσία Windows Sysinternals στο Web:


Όταν εκτελείτε το εργαλείο, κάντε την επιλογή που Χρεώνονται . Αυτό εμφανίζει διάφορες στήλες που εμφανίζουν το τρέχον μοτίβο της χρήσης μνήμης. Κάντε κλικ στο κουμπί της ενεργού στήλης για να ταξινομήσετε με βάση τον αριθμό των byte που χρησιμοποιούνται και σημειώστε τη χρήση επάνω ακριβώς κάτω από το σύνολο.

Εάν χρησιμοποιήσετε τη συνάρτηση count επάνω είναι "Μετα-αρχείου" και εάν ένα μεγάλο μέρος της διαθέσιμης μνήμης που χρησιμοποιείται, αντιμετωπίζετε το ζήτημα της μνήμης Cache του συστήματος αρχείων που περιγράφεται στην ενότητα "Συμπτώματα". Μπορείτε να το επιβεβαιώσετε από τη χρήση της εποπτείας επιδόσεων για να παρακολουθείτε το μετρητή Μόνιμα byte μνήμης Cache Memory\System και δείτε την cache αυξηθούν συνεχώς με το χρόνο.

Εικόνα 1. ΔΕΙΓΜΑ ΕΞΟΔΟΥ RamMap με την οποία ο υπολογιστής αντιμετωπίζει το ζήτημα.



Εικόνα 2. ΔΕΙΓΜΑ ΕΞΟΔΟΥ RamMap με την οποία ο υπολογιστής δεν αντιμετωπίζει το ζήτημα.



Εάν ο μετρητής Μόνιμα byte μνήμης Cache Memory\System στην Εποπτεία επιδόσεων δείχνει ανοδική τάση με τον καιρό, ο υπολογιστής αντιμετωπίζει το ζήτημα, όπως φαίνεται στο σχήμα 3.

Σχήμα 3. ΔΕΙΓΜΑ ΕΞΟΔΟΥ Εποπτεία επιδόσεων με την οποία ο υπολογιστής αντιμετωπίζει το ζήτημα με τον καιρό.

Απαιτήσεις επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή κατά την εγκατάσταση, κατάργηση εγκατάστασης, ή χρησιμοποιήστε αυτή την υπηρεσία.
Εάν κάνετε διαβάζοντας αυτό το άρθρο, επειδή εργάζεστε με έναν πελάτη που θεωρεί ότι επηρεάζονται από αυτό το ζήτημα, ακολουθήστε τα εξής βήματα για να επιλύσετε το ζήτημα.
  1. Βεβαιωθείτε ότι ο πελάτης RamMap εξόδου, perfmon ή poolmon δεδομένων επιβεβαιώνει ότι η μνήμη Cache του συστήματος αρχείων καταναλώνει περισσότερα από τη φυσική μνήμη RAM, όπως περιγράφεται παραπάνω.
  2. Για να αποκτήσετε την υπηρεσία Windows δυναμική μνήμη Cache:
    • Για τον Windows Server 2008, είναι διαθέσιμες στο κοινό εδώ.
    • Για τον Windows Server 2008 R2, διατίθεται προς το παρόν μόνο εντός της Microsoft εδώ: http://toolbox/dyncache
  3. Ορισμένες ρυθμίσεις δυναμικής μνήμης Cache μητρώου είναι οι εξής:

    Διακομιστές, αρχείων που ίσως θελήσετε να δοκιμάσετε 1GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, ίσως θέλετε να δοκιμάσετε 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 και μεγαλύτερη, στο παρελθόν όταν εργάζεστε με SQL EE του, έχει χρησιμοποιηθεί 2GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Πρόσθετοι πόροι

Διαβάστε τα κεφάλαια 9 (Διαχείριση μνήμης) και 10 (Διαχείριση μνήμης Cache) από εσωτερικά στοιχεία των Windows, την 5η έκδοση.

Καταχώρηση ιστολογίου (ΜΕΓΆΛΗ ΜΝΉΜΗ CACHE ΘΈΜΑΤΑ) ΔΙΑΧΕΊΡΙΣΗΣ ΜΝΉΜΗΣ

Αργή μεγάλο αρχείο αντίγραφο θέματα ιστολογίου

Όρια μνήμης για εκδόσεις των Windows

976618 αντιμετωπίζετε θέματα επιδόσεων σε εφαρμογές και υπηρεσίες, όταν η μνήμη cache του συστήματος αρχείων καταναλώνει περισσότερα από τη φυσική μνήμη RAM

918483 Τρόπος μείωσης σελιδοποίησης μνήμης του χώρου συγκέντρωσης buffer στην έκδοση 64-bit του SQL Server

895932 πράγματα που πρέπει να λάβετε υπόψη πριν να ενεργοποιήσετε τη λειτουργία προσωρινής αποθήκευσης συστήματος στα Windows XP

232271 Τρόπος βελτιστοποίησης του Windows NT Server, χρησιμοποιώντας το μητρώο

837331 σχετικά με τη διαχείριση μνήμης Cache στον Windows Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

Θέμα TechNet LargeSystemCache

Καταχώρηση ιστολογίου RamMap
Ιδιότητες

Αναγνωριστικό άρθρου: 976618 - Τελευταία αναθεώρηση: 13 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια