go backsqlschool blogs list

Tip of the Day: What DBCC FREESYSTEMCACHE does?

by Antonios Chatzipavlis

Καθαρίζει όλα τα μη ενεργά/χρησιμοποιούμενα περιεχόμενα (cache entries) από όλες τις cache. Αν και ο SQL Server ενεργεί προκαταβολικά ώστε να γίνει αυτό, εντούτοις μπορώ χειροκίνητα να το κάνω αυτό εκτελώντας την

DBCC FREESYSTEMCACHE ('ALL')

Φυσικά το παραπάνω θα πρέπει να το κάνουμε μόνο εφόσον θέλουμε να καθαρίσουμε τα πάντα και φυσικά λαμβάνοντας υπόψη τα Remarks από τα BOL.

Καλό είναι να εστιάζουμε την προσοχή μας σε συγκεκριμένο pool και να σβήνουμε αυτό εφόσον έχουμε δει ότι μας δημιουργεί πρόβλημα το μέγεθος του. Αυτό μπορεί να γίνει με την

DBCC FREESYSTEMCACHE ('pool name')

Μπορείς να δεις τα pools που υπάρχουν εκτελώντας το

SELECT DISTINCT name 
FROM sys.dm_os_memory_clerks 

Σε αρκετές περιπτώσεις καθαρίζοντας τα παρακάτω pools βελτιώνω αρκετά το performance.

  • SQL Plans : σε περίπτωση που δεν έχω κάνει optimize τον SQL Server για plan cache bloat.
  • TokenAndPermUserStore : εάν είμαι σε SQL Server 2005 SP2 και πίσω με την οποία καθαρίζουμε την μνήμη που έχει καταναλωθεί από την Security Cache για την δημιουργία objects στην tempdb.

 

DBCC FREESYSTEMCACHE('SQL Plans')
DBCC FREESYSTEMCACHE('TokenAndPermUserStore')
Ημερομηνία: 17 May 2011 14:31
Αξιολόγηση:
Κατηγορίες:
Tags:
Share it:

Σχετικά Blog Post

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS