Disk-based cache is compacting (SharePoint Server 2010)

 

Applies to: SharePoint Server 2010, SharePoint Foundation 2010

Alert Name: Disk-based cache is compacting

Event ID: None

Summary:   To save time accessing frequently used static files, Microsoft SharePoint Server 2010 uses the disk-based cache to store these files on the disk of the front-end Web server instead of accessing these files directly from the database server. Farm administrators can configure settings for the cache by modifying the Web.config file on each front-end Web server.

This alert indicates that the disk-based cache is too full to serve files efficiently and is currently in the process of compacting — that is, removing files from the cache to free up space. Compacting is a resource-intensive process that can affect the performance of the front-end Web server. When the compacting process is finished, the performance of the front-end Web server will return to normal.

Tip

If you want to reduce the frequency of the compacting processes, you can perform one or more of the resolutions in this article.

Symptoms:   The Total number of cache compactions performance counter threshold has been exceeded.

Cause:   The disk-based cache has reached its maximum size.

Resolution:   Increase the size of the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).

Resolution:   Manually flush the disk-based cache by using Windows PowerShell

  1. Verify that you meet the following minimum requirements: See Add-SPShellAdmin.

  2. On the Start menu, click All Programs.

  3. Click Microsoft SharePoint 2010 Products.

  4. Click SharePoint 2010 Management Shell.

  5. At the Windows PowerShell command prompt, type the following command:

    Add-PSSnapin Microsoft.SharePoint.Powershell
    Write-Host "Flush the Blob Cache for the application containing the specified site collection"
    $site = Get-SPSite -Identity <URL>
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Publishing")
    Write-Host "Flushing..."
    [Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($site.WebApplication)
    Write-Host "Flushed Cache for:" $site.WebApplication
    

    Where:

    • <URL> is the URL in the event details.

Resolution:   Change the file types to be stored by the disk-based cache

  1. For information about how to configure the Web.config file, see Configure cache settings for a Web application (SharePoint Server 2010).